如何通过Terraform设置Nomad
我是初学者,我有问题找Terraform和Nomad的解决scheme。 我需要运行Nomad和hashi-ui来pipe理Nomad的网页。 我尝试通过terrafom设置并运行Nomad服务器。 Hashi-ui我喜欢游牧的工作。 Nomad服务器和Hashi-ui运行良好。 哈西我在docker上跑。 现在我需要创buildterraform文件进行自动化初始设置和编排游牧人。 我的服务器在Debian 8上运行。
我的terraform文件nomad.tf:
# Configure the Nomad provider provider "nomad" { address = "http://localhost:4646" region = "global" # group = "server" } variable "version" { default = "latest" } data "template_file" "job" { template = "${file("./hashi-ui.nomad")}" vars { version = "${var.version}" } } # Register a job resource "nomad_job" "hashi-ui" { jobspec = "${data.template_file.job.rendered}" }
和游牧工作hashi-ui.nomad:
job "hashi-ui" { region = "global" datacenters = ["dc1"] type = "service" group "server" { count = 1 task "hashi-ui" { driver = "docker" config { image = "jippi/hashi-ui" network_mode = "host" } service { port = "http" check { type = "http" path = "/" interval = "10s" timeout = "2s" } } env { NOMAD_ENABLE = 1 NOMAD_ADDR = "http://0.0.0.0:4646" } resources { cpu = 500 memory = 512 network { mbits = 5 port "http" { static = 3000 } } } } } }
Terraform计划显示更改,但terraform应用引发此错误:
应用计划时出错:
发生1个错误:
-
nomad_job.hashi-ui:发生了1个错误:
-
nomad_job.hashi-ui:应用jobspec错误:把http:// localhost:4646 / v1 / jobs?region = global :dial tcp [:: 1]:4646:getsockopt:连接被拒绝
Terraform不会在出现错误时自动回滚。 相反,您的Terraform状态文件已经被成功完成的任何资源部分更新。 请解决上述错误,并再次申请逐步更改您的基础设施。
如果我运行旁边的游牧服务器比错误是
发生1个错误:
-
nomad_job.hashi-ui:发生了1个错误:
-
nomad_job.hashi-ui:错误应用jobspec:意外的响应代码:500(1个错误发生:
-
任务组服务器validation失败:发生1个错误:
-
发生2个错误:
-
最大平行不能小于1:0 <1
- 交错必须大于零:0s)
你能帮我吗?
你错过了一个最大的平行和徘徊在你的游牧工作规范:
job "hashi-ui" { region = "global" datacenters = ["dc1"] type = "service" update { stagger = "30s" max_parallel = 2 } count = 1 task "hashi-ui" { driver = "docker" config { image = "jippi/hashi-ui" network_mode = "host" } ...