Thứ Tư, 10 tháng 9, 2025

Bài 5: Infrastructure as Code (Terraform + Ansible cơ bản)

1. IaC là gì? Vì sao quan trọng?

  • IaC (Infrastructure as Code): quản lý và triển khai hạ tầng (server, network, DB, cloud) bằng code, thay vì click chuột thủ công.

  • Lợi ích:

    • Triển khai nhanh, lặp lại được.

    • Dễ version control với Git.

    • Tự động hóa CI/CD + Cloud.

  • Công cụ phổ biến: Terraform (tạo tài nguyên), Ansible (cấu hình server).


2. Cài Terraform

Ubuntu/Debian

sudo apt-get update && sudo apt-get install -y wget unzip wget https://releases.hashicorp.com/terraform/1.6.6/terraform_1.6.6_linux_amd64.zip unzip terraform_1.6.6_linux_amd64.zip sudo mv terraform /usr/local/bin/

RHEL/CentOS/Fedora/Oracle Linux

sudo dnf install -y wget unzip wget https://releases.hashicorp.com/terraform/1.6.6/terraform_1.6.6_linux_amd64.zip unzip terraform_1.6.6_linux_amd64.zip sudo mv terraform /usr/local/bin/

Kiểm tra

terraform -version

👉 Kết quả mẫu:

Terraform v1.6.6

3. Hello World với Terraform

Bước 1: Tạo thư mục project

mkdir terraform-demo && cd terraform-demo

Bước 2: Tạo file main.tf

provider "local" {} resource "local_file" "hello" { filename = "${path.module}/hello.txt" content = "Hello DevOps with Terraform!" }

Bước 3: Khởi tạo Terraform

terraform init

👉 Kết quả:

Terraform has been successfully initialized!

Bước 4: Tạo file theo code

terraform apply -auto-approve

👉 Kết quả:

Apply complete! Resources: 1 added.

Bước 5: Kiểm tra file

cat hello.txt

👉 Kết quả:

Hello DevOps with Terraform!

4. Cài Ansible

Ubuntu/Debian

sudo apt update && sudo apt install -y ansible

RHEL/CentOS/Fedora/Oracle Linux

sudo dnf install -y ansible

Kiểm tra

ansible --version

👉 Kết quả:

ansible [core 2.15.0]

5. Hello World với Ansible

Bước 1: Tạo file inventory hosts.ini

[local] 127.0.0.1 ansible_connection=local

Bước 2: Tạo playbook hello.yml

- name: Hello World Playbook hosts: local tasks: - name: Print Hello debug: msg: "Hello DevOps with Ansible!"

Bước 3: Chạy playbook

ansible-playbook -i hosts.ini hello.yml

👉 Kết quả:

TASK [Print Hello] ********************************************************* ok: [127.0.0.1] => { "msg": "Hello DevOps with Ansible!" }

6. Bài tập thực hành + Lời giải


🔹 Bài tập 1: Terraform tạo 2 file

Yêu cầu: Sử dụng Terraform để tạo 2 file devops1.txtdevops2.txt.

Lời giải main.tf:

provider "local" {} resource "local_file" "file1" { filename = "${path.module}/devops1.txt" content = "File 1 created by Terraform" } resource "local_file" "file2" { filename = "${path.module}/devops2.txt" content = "File 2 created by Terraform" }

👉 Sau terraform apply, kiểm tra:

cat devops1.txt cat devops2.txt

🔹 Bài tập 2: Ansible cài gói nginx

Yêu cầu: Dùng Ansible để cài Nginx trên localhost.

Lời giải nginx.yml:

- name: Install Nginx hosts: local become: true tasks: - name: Install nginx apt: name: nginx state: present when: ansible_os_family == "Debian" - name: Install nginx (RHEL-based) yum: name: nginx state: present when: ansible_os_family == "RedHat"

👉 Chạy:

ansible-playbook -i hosts.ini nginx.yml

👉 Kết quả:

changed: [127.0.0.1]

Nginx đã được cài đặt.


✅ Sau Bài 5, bạn đã biết:

  • Cài và chạy Terraform (quản lý hạ tầng bằng code).

  • Cài và chạy Ansible (cấu hình server tự động).

  • Hiểu cách IaC giúp DevOps tự động hóa hạ tầng.

=============================
Website không chứa bất kỳ quảng cáo nào, mọi đóng góp để duy trì phát triển cho website (donation) xin vui lòng gửi về STK 90.2142.8888 - Ngân hàng Vietcombank Thăng Long - TRAN VAN BINH
=============================
Nếu bạn không muốn bị AI thay thế và tiết kiệm 3-5 NĂM trên con đường trở thành DBA chuyên nghiệp hay làm chủ Database thì hãy đăng ký ngay KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE, được Coaching trực tiếp từ tôi với toàn bộ bí kíp thực chiến, thủ tục, quy trình của gần 20 năm kinh nghiệm (mà bạn sẽ KHÔNG THỂ tìm kiếm trên Internet/Google) từ đó giúp bạn dễ dàng quản trị mọi hệ thống Core tại Việt Nam và trên thế giới, đỗ OCP.
- CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
- Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
2 khóa học online qua video giúp bạn nhanh chóng có những kiến thức nền tảng về Linux, Oracle, học mọi nơi, chỉ cần có Internet/4G:
- Oracle cơ bản: https://bit.ly/admin_1200
- Linux: https://bit.ly/linux_1200
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
cơ sở dữ liệu, cơ sở dữ liệu quốc gia, database, AI, trí tuệ nhân tạo, artificial intelligence, machine learning, deep learning, LLM, ChatGPT, DeepSeek, Grok, oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c/21c/23c/23ai, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, docker, k8s, micro service, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty
Sửa bài viết

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master