Giaosucan's blog - Chia sẻ kiến thức theo cách bá đạo

Ticker

20/recent/ticker-posts

Giải ngố Terraform - part 2

Giải ngố Terraform

Tiếp theo bài 1, bài này chúng ta sẽ bắt đầu thực hành với Terraform


Cài đặt môi trường

Ở bài này, chúng ta sẽ làm việc trên môi trường Linux Ubuntu, bạn down bản binary của Terraform tại đây, unzip rồi copy vào thư mục /usr/bin.

Chạy thử command terraform để verify

Như vậy là ready để thực hiện build môi trường

Build infrastructure

Ngôn ngữ lập trình trong terraform là configuration language. Ngôn ngữ này gần giống kiểu JSON, khá đơn giản và dễ học. Trong terraform, chúng ta sử dụng configuration language để build môi trường

File source code trong terraform có đuôi là *.tf

Ví dụ đoạn code dưới sẽ build 1 AWS EC2 instance trên AWS loại t2.micro

provider "aws" {

} resource "aws_instance" "example" { ami = "ami-2757f631" instance_type = "t2.micro"
}

Ở bài này, chúng ta sẽ thực hành build 1 Kubernetes pod trên Google cloud.

Bạn cần 1 tài khoản Gcloud, Google Cloud đang cho miễn phí 1 năm với credit tầm 300$, đủ để học và làm nhiều thứ.

Truy cập vào Google Cloud console, tạo 1 Kubernetes cluster như ở dưới

Kết nối với google cloud cluster bằng cách bấm nút connect, Gcloud sẽ cung cấp command để access vào cluster

Để terraform có permission để access vào Gcloud, bạn cần generate credential cho nó

gcloud container clusters get-credentials standard-cluster-2

Lệnh trên sẽ generate ~/.kube/config chứa các credential cần thiết

Tạo 1 file tf đặt tên là main.tf khai báo provider như sau

provider "kubernetes" {

}

Chạy command terraform init. Terraform sẽ download những driver cần thiết

Sau đó khai báo kuberneters_pod tên là hello-nginx

provider "kubernetes" {

} resource "kubernetes_pod" "nginx" { metadata { name = "hello-nginx" labels { App = "nginx" } } spec { container { image = "nginx:1.7.8" name = "example" port { container_port = 80 } } }
}

Chạy command terraform plan để biết được terraform sẽ làm những gì để build pod này. Nếu code có lỗi, terraform plan sẽ show up những thông tin về lỗi để bạn sửa chữa

Sau đó run command terraform apply để execute việc build infra. Terraform sẽ confirm với bạn 1 lần nữa trước khi thực hiện build

Build thành công

Chạy kubectl get pods, bạn sẽ thấy pod hello-ngnix đã được tạo thành công như ở dưới

Đăng nhận xét

0 Nhận xét