【发布时间】:2017-03-24 18:51:59
【问题描述】:
我正在尝试使用 Terraform 在 AWS 中构建 Docker Swarm 集群。我已经成功启动了 Swarm 管理器,但我正在尝试找出如何最好地将连接密钥传递给工作人员(将在管理器之后创建)。
我想要一些运行docker swarm join-token worker -q 命令的方法,该命令可以设置为 Terraform 变量。这样,worker 就可以拥有一个 remote_exec 命令,例如 docker swarm join ${var.swarm_token} ${aws_instance.swarm-manager.private_ip}
我该怎么做?
我的配置如下:
resource "aws_instance" "swarm-manager" {
ami = "${var.manager_ami}"
instance_type = "${var.manager_instance}"
tags = {
Name = "swarm-manager${count.index + 1}"
}
provisioner "remote-exec" {
inline = [
"sleep 30",
"docker swarm init --advertise-addr ${aws_instance.swarm-manager.private_ip}"
"docker swarm join-token worker -q" // This is the value I want to store as a variable/output/etc
]
}
}
谢谢
【问题讨论】:
标签: amazon-web-services docker docker-swarm terraform