Terraform là một công cụ mã nguồn mở được sử dụng để tự động hóa việc cung cấp và quản lý cơ sở hạ tầng như máy ảo, mạng, lưu trữ và Kubernetes.
Với Terraform, bạn có thể mô tả cơ sở hạ tầng mong muốn bằng mã, sau đó Terraform sẽ thực hiện các thao tác cần thiết để tạo hoặc cập nhật cơ sở hạ tầng cho phù hợp với mô tả của bạn.
Khởi tạo Cluster và Node Group
Để khởi tạo một Cluster Kubernetes bằng Terraform, bạn cần thực hiện các bước sau:
Truy cập IAM Portal tại , thực hiện tạo Service Account với quyền hạn VKS Full Access. Cụ thể, tại trang IAM, bạn có thể:
Chọn "Create a Service Account", điền tên cho Service Account và nhấn Next Step để gắn quyền cho Service Account.
Tìm và chọn Policy:VKSFullAccess sau đó nhấn "Create a Service Account" để tạo Service Account, Policy: VKSFullAccess do VNG Cloud tạo ra, bạn không thể xóa các policy này.
Sau khi tạo thành công bạn cần phải lưu lại Client_ID và Secret_Key của Service Account để thực hiện bước tiếp theo.
Truy cập VKS Portal tại , thực hiện Activate dịch vụ VKS ở tab Overview. Hãy chờ đợi tới khi chúng tôi khởi tạo thành công tài khoản VKS của bạn.
Cài đặt Terraform:
Tải xuống và cài đặt Terraform cho hệ điều hành của bạn từ .
Khởi tạo cấu hình Terraform:
Tạo tệp variable.tf và khai báo thông tin Service Account trong file này.
Tạo tệp main.tf và định nghĩa các tài nguyên Kubernetes Cluster mà bạn muốn tạo.
Ví dụ:
Tệp variable.tf:bạn cần thay thế Client ID và Client Secret đã khởi tạo ở bước 1 ở file này.
variable "client_id" {
type = string
default = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
variable "client_secret" {
type = string
default = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
Tệp main.tf: trong ví dụ này tôi thực hiện khởi tạo một Private Cluster và một Private Node Group
Chú ý:
Trong file main.tf, để khởi tạo một cluster với một node group, bạn bắt buộc cần truyền vào các thông số sau: