如何通过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" } ...