使用Terraform Cloud在樱云上创建服务器

Terraform Cloud 是由 HashiCorp 公司提供的一项托管服务,用于管理 Terraform。

当与GitHub相连接的terraform存储库发生推送等操作时,将自动执行terraform命令,实现类似于Gitops的便利功能。

在多人使用Terraform的情况下,这非常有用。

由于有免费可使用的范围,所以这一次我选择在该范围内尝试使用。

在默认状态下,无法在樱云上创建服务器,因此我整理了一下步骤。

准备所需之物

    • さくらのクラウドのAPIキー

 

    Githubアカウント

环境

我們預計這次將使用以下版本執行。

Terraform版本v0.11.14
适用于さくらのクラウド v1.16.4的Terraform
Github仓库地址为https://github.com/tar-xzvff/sakura-cloud-tfcloud-sample

1. 创建存储库

我会将Terraform放置在Github存储库中,用于在Sakura Cloud上创建服务器。

另外,我们将把Terraform提供者(针对Terraform的Sakura云)的二进制文件放置在相同的代码库中。

※在GitHub上提前创建一个仓库。(公开/私有皆可)
※在执行git init的目录中执行以下操作

配置插件

curl -O https://releases.usacloud.jp/terraform/terraform-provider-sakuracloud_1.16.4_linux-amd64.zip

unzip terraform-provider-sakuracloud_1.16.4_linux-amd64.zip

mkdir -p terraform.d/plugins/linux_amd64

mv terraform-provider-sakuracloud_v1.16.4 terraform.d/plugins/linux_amd64

Terraform文件的位置布局

cat <<'EOF' >  server.tf
data sakuracloud_archive "ubuntu" {
    filter = {
        name = "Name"
        values = ["Ubuntu Server"]
    }
    filter = {
        name = "Tags"
        values = ["current-stable","arch-64bit","os-linux"]
    }
}

resource "sakuracloud_disk" "disk01" {
  name              = "disk01"
  source_archive_id = "${data.sakuracloud_archive.ubuntu.id}"
}

resource "sakuracloud_server" "server01" {
  name  = "server01"
  disks = ["${sakuracloud_disk.disk01.id}"]
  password          = "YourPassw0rd"
}
EOF
git add server.tf
git commit -m "Add a tf file"
git add terraform.d/plugins/linux_amd64/terraform-provider-sakuracloud_v1.16.4
git commit -m "Add terraform-provider-sakuracloud"
git push origin master

目录的最终状态

# tree
.
├── server.tf
└── terraform.d
    └── plugins
        └── linux_amd64
            └── terraform-provider-sakuracloud_v1.16.4

2. 在Terraform Cloud上注册账号

我放弃了。

创建Workspace

1.png
2.png
3.png
4.png
5.png
6.png

3. 切换Terraform版本

7.png
8.png
9.png

最后,点击保存设置。

4. 设置API密钥和服务器创建的区域。

为了在Sakura云上创建服务器,将设置以下值。

    • SAKURACLOUD_ACCESS_TOKEN

 

    • SAKURACLOUD_ACCESS_TOKEN_SECRET

 

    SAKURACLOUD_ZONE
10.png
11.png

创建资源执行

12.png
13.png
14.png
15.png
16.png
17.png
18.png

结束了。

广告
将在 10 秒后关闭
bannerAds