Terraform是一种开源的基础设施即代码(IaC)工具,允许用户使用声明式配置文件定义、配置和管理云基础设施。通过Terraform,您可以自动化创建和管理服务器、数据库、网络和存储等资源,跨多个云提供商。
Terraform的一个优势是能够维护基础设施的状态,确保一致性,并支持轻松更新或扩展。通过使用版本控制的配置,团队可以更有效地协作,基础设施变更变得可重复和可预测。
本文介绍如何使用Terraform配置Vultr云基础设施。您将使用Vultr账户API密钥配置多个资源,如云实例、Kubernetes集群和数据库。
- 根据您的操作系统类型下载Terraform。
- 创建一个Terraform目录来存储资源文件。
1
|
$ mkdir vultr-terraform
|
- 切换到该目录。
- 创建一个新文件
provider.tf
来存储Vultr提供者信息。
- 复制并粘贴以下内容。
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
的新文件来定义您的Vultr API密钥。
1
|
$ nano terraform.tfvars
|
- 复制并粘贴以下指令到文件中。
1
|
VULTR_API_KEY = "vultr_api_key"
|
- 初始化Terraform以安装Vultr Terraform提供者。
输出应显示一条消息,告知Terraform已成功初始化。
配置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
:设置您要部署的Vultr资源类型。
label
:指定实例标签。
plan
:设置您所需的实例规格。vc2-1c-1gb
计划匹配一个Vultr实例,类型为vc2,1个vCPU核心和1 GB RAM。
region
:指定您要部署实例的Vultr区域。sgp
将实例部署到新加坡Vultr位置。
os_id
:按ID设置实例操作系统。值2284
代表Ubuntu 24.04。
- 预览您将要应用的更改。
- 创建Vultr实例。
当提示时,输入yes
以确认您要应用更改。成功后,您应该能够在Vultr客户门户中看到创建的资源。
一次配置多个资源
- 创建一个名为
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
}
}
|
- 保存并关闭文件。
此Terraform配置在Vultr上定义了两个资源:
此配置允许通过Terraform管理单个云计算实例和一个可扩展的Kubernetes集群。
- 预览您将要应用的更改。
- 创建Vultr资源。
当提示时,输入yes
以确认您要应用更改。成功后,您应该能够在Vultr客户门户中看到创建的资源。
您还可以配置其他Vultr资源,如对象和块存储,以及Vultr托管数据库。
使用Vultr做更多
- 在Rocky Linux 9上安装Node.js和NPM。
- 在Ubuntu 24.04上安装Python和Pip。
- 在Ubuntu 24.04上安装Podman。
- 在Rocky Linux 9上安装Docker。
本文由Vultr赞助。Vultr是世界上最大的私有云计算平台。作为开发者的最爱,Vultr已为185个国家的超过150万客户提供灵活、可扩展的全球云计算、云GPU、裸机和云存储解决方案。了解更多关于Vultr的信息。