×

使用 Terraform 实现 Vultr 云基础设施自动化

作者:Terry2025.01.02来源:Web前端之家浏览:623评论:0
关键词:Terraform

image.png

Terraform 是一个开源基础设施即代码 (IaC) 工具。它允许用户使用声明性配置文件定义、配置和管理云基础设施。借助 Terraform,您可以自动创建和管理跨云提供商的资源,例如服务器、数据库、网络和存储。

Terraform 的优势之一是它能够维护基础设施的状态,确保一致性并实现轻松更新或扩展。通过使用版本控制的配置,团队可以更有效地协作,并且基础设施更改变得可重复且可预测。

本文介绍如何使用 Terraform 配置 Vultr 云基础设施。您将使用您的 Vultr 帐户 API 密钥配置多个资源,例如云实例、Kubernetes 集群和数据库。

使用 Terraform 提供 Vultr 资源

设置 Terraform

  1. 根据您的操作系统类型下载 Terraform。

  2. 创建一个 Terraform 目录来存储资源文件。

    $ mkdir vultr-terraform
  3. 切换到目录。

    $ cd vultr-terraform
  4. 创建一个新文件provider.tf来存储 Vultr 提供商信息。

    $ nano provider.tf
  5. 复制并粘贴以下内容。


terraform {
    required_providers {
        vultr = {
            source = "vultr/vultr"
            version = "2.21.0"
        }
    }
}

provider "vultr" {
    api_key = var.VULTR_API_KEY
}

variable "VULTR_API_KEY" {}
  1. 保存并关闭文件。

  2. 创建一个名为的新文件terraform.tfvars来定义您的 Vultr API 密钥。

    $ nano terraform.tfvars
  3. 将以下指令复制并粘贴到文件中。

    VULTR_API_KEY = "vultr_api_key"
  4. 初始化 Terraform 以安装 Vultr Terraform 提供程序。

    $ terraform init

    输出应显示一条消息,告知 Terraform 已成功初始化。

配置 Vultr 云计算实例

  1. 创建一个名为 的新文件vultr_instance.tf

    $ nano vultr_instance.tf
  2. 复制并粘贴以下内容。

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。

  1. 预览您即将应用的更改。

    $ terraform plan
  2. 创建 Vultr 实例。

    $ terraform apply

    出现提示时,输入yes以确认您要应用更改。成功后,您应该能够在 Vultr 客户门户中看到创建的资源。

一次配置多个资源

  1. 创建一个名为 的新文件main.tf

    $ nano main.tf
  2. 复制并粘贴以下内容。

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
    }
}
  1. 保存并关闭文件。

    此 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。

    1. Vultr 云计算实例:该vultr_instance资源提供标记为“sample-server2”的虚拟机 (VM)。该实例配置为:

    2. Vultr Kubernetes 集群:该vultr_kubernetes资源在班加罗尔 (blr) 地区建立了一个名为“my-cluster2”的 Kubernetes 集群,Kubernetes 版本为 v1.31.0+1。该集群具有:

  2. 预览您即将应用的更改。

    $ terraform plan
  3. 创建 Vultr 资源。

    $ terraform apply

    出现提示时,输入yes以确认您要应用更改。成功后,您应该能够在 Vultr 客户门户中看到创建的资源。

    您还可以配置其他 Vultr 资源,例如对象和块存储以及Vultr 托管数据库。

您的支持是我们创作的动力!
温馨提示:本文作者系Terry ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/Terraformjieshao423.html

网友评论文明上网理性发言 已有0人参与

发表评论: