Terraform 是一个开源基础设施即代码 (IaC) 工具。它允许用户使用声明性配置文件定义、配置和管理云基础设施。借助 Terraform,您可以自动创建和管理跨云提供商的资源,例如服务器、数据库、网络和存储。
Terraform 的优势之一是它能够维护基础设施的状态,确保一致性并实现轻松更新或扩展。通过使用版本控制的配置,团队可以更有效地协作,并且基础设施更改变得可重复且可预测。
本文介绍如何使用 Terraform 配置 Vultr 云基础设施。您将使用您的 Vultr 帐户 API 密钥配置多个资源,例如云实例、Kubernetes 集群和数据库。
使用 Terraform 提供 Vultr 资源
设置 Terraform
根据您的操作系统类型下载 Terraform。
创建一个 Terraform 目录来存储资源文件。
$ mkdir vultr-terraform
切换到目录。
$ cd vultr-terraform
创建一个新文件
provider.tf
来存储 Vultr 提供商信息。$ nano provider.tf
复制并粘贴以下内容。
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 密钥。$ nano terraform.tfvars
将以下指令复制并粘贴到文件中。
VULTR_API_KEY = "vultr_api_key"
初始化 Terraform 以安装 Vultr Terraform 提供程序。
$ terraform init
输出应显示一条消息,告知 Terraform 已成功初始化。
配置 Vultr 云计算实例
创建一个名为 的新文件
vultr_instance.tf
。$ nano vultr_instance.tf
复制并粘贴以下内容。
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 计划与类型为 vc2、1 个 vCPU 核心和 1 GB RAM 的 Vultr 实例匹配。region
:指定您想要部署实例的 Vultr 区域。sgp 将实例部署到新加坡 Vultr 位置。os_id
:通过 ID 设置实例操作系统 (OS)。值 2284 代表 Ubuntu 24.04。预览您即将应用的更改。
$ terraform plan
创建 Vultr 实例。
$ terraform apply
出现提示时,输入
yes
以确认您要应用更改。成功后,您应该能够在 Vultr 客户门户中看到创建的资源。
一次配置多个资源
创建一个名为 的新文件
main.tf
。$ nano main.tf
复制并粘贴以下内容。
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 上定义了两个资源:
总的来说,此配置允许配置单个云计算实例以及可扩展的 Kubernetes 集群,所有这些都通过 Terraform 进行管理。
一个由 3 个节点组成的节点池,每个节点使用 vc2-2c-4gb 计划(每个节点 2 个 CPU 和 4GB RAM)。
启用自动缩放,池中至少有 1 个节点,最多有 4 个节点。
使用 vc2-1c-1gb 计划,它提供 1 个 CPU 和 1GB RAM。
部署在班加罗尔(blr)地区。
运行 Ubuntu 24.04(由 os_id =“2284”指定)。
为实例启用 IPv6。
Vultr 云计算实例:该
vultr_instance
资源提供标记为“sample-server2”的虚拟机 (VM)。该实例配置为:Vultr Kubernetes 集群:该
vultr_kubernetes
资源在班加罗尔 (blr) 地区建立了一个名为“my-cluster2”的 Kubernetes 集群,Kubernetes 版本为 v1.31.0+1。该集群具有:预览您即将应用的更改。
$ terraform plan
创建 Vultr 资源。
$ terraform apply
出现提示时,输入
yes
以确认您要应用更改。成功后,您应该能够在 Vultr 客户门户中看到创建的资源。您还可以配置其他 Vultr 资源,例如对象和块存储以及Vultr 托管数据库。
网友评论文明上网理性发言 已有0人参与
发表评论: