Quản lý vLB với Terraform
Để quản lý vLB với Terraform, bạn cần làm các bước sau đây:
Bước 1: Cài đặt Terraform CLI như hướng dẫn tại đây
Bước 2: Để có thể thực hiện quản lý vLB với Terraform bạn cần tạo Service account từ Root account trên trang chủ IAM (xem hướng dẫn cách tạo Service account và sử dụng IAM tại đây), trong trường hợp này lấy ví dụ cho việc bạn muốn tạo Load Balancer với Terraform cần có các quyền (Policy) sau:
CreateLoadBalancer
GetLoadBalancer
hoặc bạn có thể cấp quyền vLBFullAccess (nên có quyền vLBReadOnlyAccess để get thông tin resource sau khi tạo xong). Tham khảo thêm về cách phân quyền cho từng Resource, Action tương ứng {Trang phân quyền IAM}.
Ghi chú: Mỗi hành động quản lý tài nguyên khác nhau sẽ yêu cầu các quyền khác nhau, vì thế điều cần thiết là phải thiết lập một bộ phân quyền hợp lý phù hợp với nhu cầu kinh doanh của bạn.
Bước 3: Tạo thư mục chứa terraform file và tải example từ VNG Cloud repo tại đây
Sau khi tải thư mục Example về máy, người dùng mở file variable.tf (theo đường dẫn terraform-providder-vngcloud/ examples/ ), sau đó thay đổi các thông tin cần thiết như sau:
Client_id: Lấy tại trang chủ IAM/ Service account/ Tab Security credentials
Client_secret: Lấy khi khởi tạo Service account tại trang chủ IAM hoặc có thể reset lại tại trang IAM/ Service account/ Tab Security credentials
![](https://docs.vngcloud.vn/~gitbook/image?url=https%3A%2F%2F3672463924-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FB0NrrrdJdpYOYzRkbWp5%252Fuploads%252FdoX9X6Vsq5lIJ5LNegLR%252Fimage.png%3Falt%3Dmedia%26token%3Dab8da01b-60b8-4d93-936b-6bd36adad4d0&width=768&dpr=4&quality=100&sign=c29f1fe5&sv=1)
![](https://docs.vngcloud.vn/~gitbook/image?url=https%3A%2F%2F3672463924-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FB0NrrrdJdpYOYzRkbWp5%252Fuploads%252FgbTj2HngcEtp48RkP1pS%252Fimage.png%3Falt%3Dmedia%26token%3D775a2b9e-8702-4f39-afe9-6be341e50adc&width=768&dpr=4&quality=100&sign=3a726108&sv=1)
Bước 4: Kiểm tra lại thông tin file main.tf (theo đường dẫn terraform-providder-vngcloud/ examples/ ), trường hợp này bạn cần xóa đi các dòng bên dưới:
module "vserver" {source = "./modules/vng-cloud-vserver"}
module "k8s" {source = "./modules/vng-cloud-k8s" }
chỉ để lại:
module "vlb" { source = "./modules/vng-cloud-vlb" }
Bước 5: Sau đó truy cập vào thư mục vng-cl terraform-providder-vngcloud/ examples/ modules/ vng-cloud-vlb), và mở file variable/tf:
project_id: thông tin project của bạn, bạn có thể lấy ở {Tab Limit} trên vServer Portal, Ví dụ: pro-462803f3-6858-466f-bf05-df2b33faa360:
![](https://docs.vngcloud.vn/~gitbook/image?url=https%3A%2F%2F3672463924-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FB0NrrrdJdpYOYzRkbWp5%252Fuploads%252Fs26LbG7uOUnytItqKkAH%252Fimage.png%3Falt%3Dmedia%26token%3D7d0799f1-6009-4317-a6c4-6ad9b17a1cfb&width=768&dpr=4&quality=100&sign=143e4292&sv=1)
subnet_id: chỉ định subnet id mà vServer sẽ được tạo trên đó, bạn có thể lấy từ {Tab VPC}, nếu chưa khởi tạo bất cứ subnet nào bạn có thể xem hướng dẫn tại {Trang tạo subnet}:
![](https://docs.vngcloud.vn/~gitbook/image?url=https%3A%2F%2F3672463924-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FB0NrrrdJdpYOYzRkbWp5%252Fuploads%252FTrhgpm7Zps5AlNO2ZBfj%252Fimage.png%3Falt%3Dmedia%26token%3D237c1fce-d57e-4c8b-8621-963fbb225820&width=768&dpr=4&quality=100&sign=4de174fd&sv=1)
Bước 6: Kiểm tra lại thông tin file main.tf (theo đường dẫn terraform-providder-vngcloud/ examples/ modules/ vng-cloud-vlb), trong file chúng tôi để sẵn một số câu lệnh: Create LB, Listener, Policy, Pool, trường hợp này để Tạo mới LB bạn chỉ cần để lại resource Create LB theo hướng dẫn bên dưới:
Bước 7: Khởi chạy terraform command
Sau khi hoàn tất các thông tin trên, để terraform khởi tạo và tải VNG Cloud provider về đồng thời thiết lập các thông tin cần thiết chạy lệnh bên dưới, lưu ý khi chạy cần đứng tại thư mục terraform-provider-vngcloud/ examples/:
|
Hệ thống sẽ trả ra kết quả:
Sau đó, bạn để xem những thay đổi sẽ được áp dụng trên những resource mà terraform đang quản lý bạn có thể chạy:
|
Cuối cùng bạn chọn chạy dòng lệnh
|
và chọn YES để thực hiện việc khởi tạo vServer thông qua Terraform
Bước 8: Bạn có thể lên Portal để xem LB đang được khởi tạo từ Terraform
Last updated