PIGSTY

Terraform

使用 terraform 置备云虚拟机

Terraform 是一个流行的 IaC 工具。您可以使用一个命令在公有云上创建虚拟机。

阿里云和 AWS 模板用作示例提供商。您可以将 terraform.tf 作为示例。


入门

您可以在 macOS 上使用 homebrew 安装 terraform

安装 homebrew 和 terraform
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install terraform

然后初始化 terraform 云提供商,调整 terraform.tf 配置文件并应用它:

cd ~/pigsty/terraform
terraform init
terraform apply #-auto-approve

打印公共 IP 地址:

terraform output | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'

AWS 设置

您必须设置 aws 配置和凭据才能使用 AWS 提供商。

# ~/.aws

# ~/.aws/config
[default]
region = cn-northwest-1

# ~/.aws/credentials
[default]
aws_access_key_id = <YOUR_AWS_ACCESS_KEY>
aws_secret_access_key =  <AWS_ACCESS_SECRET>

# ~/.aws/pigsty-key
# ~/.aws/pigsty-key.pub

有一个 AWS(Amazon Web Services)的贡献示例,但它没有得到积极维护。


阿里云设置

您可以将您的阿里云凭据添加到环境文件中,例如 ~/.bash_profile

export ALICLOUD_ACCESS_KEY="<your_access_key>"
export ALICLOUD_SECRET_KEY="<your_secret_key>"
export ALICLOUD_REGION="cn-beijing"

示例配置文件:

  • spec/aliyun-meta.tf : 阿里云 1 元节点模板,适用于所有发行版和 amd/arm(默认)
  • spec/aliyun-full.tf : 阿里云 4 节点沙盒模板,适用于所有发行版和 amd/arm。
  • spec/aliyun-oss.tf : 阿里云 5 节点构建模板,适用于所有发行版和 amd/arm。

以下是阿里云中使用的示例 ECS 公共操作系统镜像

发行版镜像前缀镜像前缀
CentOS 7.9centos_7_9_x64rockylinux_8_10_arm6
Rocky 8.10rockylinux_8_10_x64rockylinux_9_6_arm64
Rocky 9.6rockylinux_9_5_x64
Debian 11.11debian_11_11_x64
Debian 12.11debian_12_11_x64debian_12_11_arm64
Ubuntu 20.04ubuntu_20_04_x64
Ubuntu 22.04ubuntu_22_04_x64ubuntu_22_04_arm64
Ubuntu 24.04ubuntu_24_04_x64ubuntu_24_04_arm64
Anolis 8.8anolisos_8_9_x64

腾讯云设置

有一个腾讯云的贡献示例,但它没有得到积极维护。