【速報】关于Arukas的Terraform开发备忘录

请将以下内容用中文进行同义转述,只需要给出一种选项:
===

以下是同义转述的文本:

请使用中文将以下内容重新表述一遍,只需提供一种选项:

2017/2 追注: Arukas提供商已于v0.8.7起被整合到Terraform主体中。
https://www.terraform.io/docs/providers/arukas/index.html

这是一个罕见的机会

祝Arukas 公开API发布成功

你在使用Arukas吗?

今天我们期盼已久的Arukas公开了公共API!公共API文档。

因为API已经公开,所以我创建了一个Terraform的提供者,以便可以从中使用。详情请查看下方。

阿鲁卡斯的Terraform

不久之后,我会写一些正式的文件和介绍文章…但是暂时给你简单介绍一下。

配置

Terraform和Terraform for Arukas的设置步骤如下:

虽然这只是下载和解压的过程,但非常简单方便。
顺便说一下,为了使用Arukas API,也顺手获取一下API密钥吧。

Terraform的安装配置

1) 我们从官方网站下载zip文件。
2) 解压缩到适当的目录中(这里以~/terraform为例)。
3) 将路径添加到第2个目录。

以下是在Mac上的示例。

# ダウンロード
$ curl -L https://releases.hashicorp.com/terraform/0.6.16/terraform_0.6.16_darwin_amd64.zip > ~/terraform/terraform.zip
# 展開
$ unzip ~/terraform/terraform.zip
# パスを通す
$ export PATH=$PATH:~/terraform/

确认操作

让我们试着运行terraform命令。
如果看到以下类似的输出,就可以了。

$ terraform
usage: terraform [--version] [--help] <command> [<args>]

Available commands are:
    apply       Builds or changes infrastructure
    destroy     Destroy Terraform-managed infrastructure
    get         Download and install modules for the configuration
    graph       Create a visual graph of Terraform resources
    init        Initializes Terraform configuration from a module
    output      Read an output from a state file
    plan        Generate and show an execution plan
    push        Upload this Terraform module to Atlas to run
    refresh     Update local state file against real resources
    remote      Configure remote state storage
    show        Inspect Terraform state or plan
    taint       Manually mark a resource for recreation
    validate    Validates the Terraform files
    version     Prints the Terraform version

Arukas的Terraform设置

1) 从这个发布页面下载最新版本的zip文件。
2) 解压缩到与terraform相同的目录中。

只有这个。简单吧?

获取Arukas API密钥

APIキー.jpg

如果获得了,要如下设置环境变量。

export ARUKAS_JSON_API_TOKEN=[取得したAPIキー]
export ARUKAS_JSON_API_SECRET=[取得したAPIシークレット]

执行 (shí

运行Terraform(以Nginx容器为例)

创建定义文件

让我们在Arukas上启动一个简单的Nginx容器。
首先,创建一个tf文件。

vi arukas.tf # 以下の内容を記載
resource "arukas_container" "arukas01"{
    name = "terraform_for_arukas"
    image = "nginx:latest"
    ports = {
        protocol = "tcp"
        number = "80"
    }
}

保存后,让我们执行Terraform。

terraform plan  # 確認
terraform apply # 実施

当执行terraform plan时的屏幕截图

plan.jpg

在执行terraform apply时的屏幕截图

apply.jpg

确认动作

after_apply.jpg

由于本次未明确指定终端节点的名称,Arukas会自动分配一个给我们。

另外,虽然可以参考控制面板,但执行terraform show命令可以确认Arukas自动分配的值。

show.jpg

本次只使用了终结点的URL,但您也可以确认容器中已公开的端口以及与Arukas上的主机名/端口号的映射关系。

我们马上在浏览器上进行操作确认吧。

browser.jpg

你看到了吗?
还有其他可定义的参数等,请参考GitHub上的详细信息。

总结

你觉得如何呢?由于Arukas对Terraform的支持,现在在Terraform中进行基础设施建设又多了一张强有力的牌。

如果准备一个可以进行SSH连接的Docker镜像,就可以使用Terraform的预配功能。(您还可以使用Chef或Ansible进行预配!)

由于仍在开发阶段,tf文件的编写方式可能会发生变化,建议在使用时参考GitHub上的最新信息。

以上就是。