使用Terraform自动化部署Vultr云基础设施
引言
Terraform是一款开源的基础设施即代码(IaC)工具,允许用户通过声明式配置文件定义、配置和管理云基础设施。借助Terraform,您可以自动化创建和管理跨云服务商的服务器、数据库、网络和存储等资源。
Terraform的核心优势在于能维护基础设施状态,确保一致性并支持轻松更新或扩展。通过版本控制的配置,团队可以更高效地协作,使基础设施变更变得可重复且可预测。
本文将介绍如何使用Terraform配置Vultr云基础设施,包括如何利用Vultr账户API密钥部署云实例、Kubernetes集群和数据库等多种资源。
使用Terraform配置Vultr资源
设置Terraform
- 根据操作系统类型下载Terraform
- 创建存储资源文件的Terraform目录:
1
$ mkdir vultr-terraform
- 进入该目录:
1
$ cd vultr-terraform
- 创建
provider.tf
文件存储Vultr提供商信息:1
$ nano provider.tf
- 复制以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
terraform { required_providers { vultr = { source = "vultr/vultr" version = "2.21.0" } } } provider "vultr" { api_key = var.VULTR_API_KEY } variable "VULTR_API_KEY" {}
- 创建
terraform.tfvars
文件定义API密钥:内容:1
$ nano terraform.tfvars
1
VULTR_API_KEY = "vultr_api_key"
- 初始化Terraform安装Vultr提供商:
1
$ terraform init
部署Vultr云计算实例
-
创建
vultr_instance.tf
文件:1
$ nano vultr_instance.tf
-
添加以下配置:
1 2 3 4 5 6 7
resource "vultr_instance" "my_instance" { label = "sample-server" plan = "vc2-1c-1gb" region = "sgp" os_id = "2284" enable_ipv6 = true }
vultr_instance
: 指定要部署的资源类型label
: 实例标签plan
: 实例规格(vc2类型,1vCPU核心,1GB内存)region
: 部署区域(sgp表示新加坡)os_id
: 操作系统ID(2284代表Ubuntu 24.04)
-
预览变更:
1
$ terraform plan
-
创建实例:
1
$ terraform apply
批量部署多种资源
-
创建
main.tf
文件:1
$ nano main.tf
-
添加以下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
resource "vultr_instance" "my_instance" { label = "sample-server2" plan = "vc2-1c-1gb" region = "blr" os_id = "2284" enable_ipv6 = true } resource "vultr_kubernetes" "kubernetes_cluster" { region = "blr" label = "my-cluster2" version = "v1.31.0+1" node_pools { node_quantity = 3 plan = "vc2-2c-4gb" label = "my-app-nodes" auto_scaler = true min_nodes = 1 max_nodes = 4 } }
该配置定义了两类资源:
- 云计算实例:在班加罗尔区域部署1CPU/1GB内存的Ubuntu 24.04实例
- Kubernetes集群:包含3个节点(每个2CPU/4GB内存),支持1-4个节点的自动扩展
-
预览并应用变更:
1 2
$ terraform plan $ terraform apply
扩展Vultr应用
您还可以部署其他Vultr资源,如对象存储、块存储和托管数据库。参考以下指南:
- 在Rocky Linux 9上安装Node.js和NPM
- 在Ubuntu 24.04上安装Python和Pip
- 在Ubuntu 24.04上安装Podman
- 在Rocky Linux 9上安装Docker
本文由Vultr赞助。Vultr是全球最大的私有云平台,已为185个国家/地区的150万客户提供灵活、可扩展的云计算解决方案。