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