如何通过 Terraform 设置 Nomad

How to setup Nomad via Terraform

我是初学者,我无法找到 Terraform 和 Nomad 的解决方案。我需要 运行 Nomad 和 hashi-ui 用于 Nomad 的网络管理。我尝试通过 terrafom 设置和 运行 Nomad 服务器。 Hashi-ui 我喜欢游牧工作。 Nomad服务器和Hashi-ui运行很好。哈希-ui我运行在docker。现在我需要为自动化初始设置创建 terraform 文件并编排游牧。我的服务器 运行ning 在 Debian 8 上。

我的地形文件 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 apply 抛出此错误:

应用计划时出错:

发生 1 个错误:

Terraform 不会在遇到错误时自动回滚。 相反,您的 Terraform 状态文件已部分更新为 成功完成的任何资源。请解决错误 以上并再次申请以逐步更改您的基础架构。

如果我 运行 游牧服务器旁边的错误是

发生 1 个错误:

你能帮帮我吗?

您的游牧工作规范中缺少最大并行和交错:

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"
    }
...