2

我是初学者,我很难找到 Terraform 和 Nomad 的解决方案。我需要运行 Nomad 和 hash-ui 来进行 Nomad 的 Web 管理。我尝试通过 terrafom 设置和运行 Nomad 服务器。Hashi-ui 我喜欢游牧工作。Nomad 服务器和 Hashi-ui 运行良好。Hashi-ui 我在 docker 中运行。现在我需要为自动化初始设置和编排 nomad 创建 terraform 文件。我的服务器在 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 plan 显示更改,但 terraform apply 抛出此错误:

申请计划时出错:

发生 1 个错误:

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

如果我在旁边运行游牧服务器,则错误是

发生 1 个错误:

  • nomad_job.hashi-ui:发生 1 个错误:

  • nomad_job.hashi-ui:应用作业规范时出错:意外响应代码:500(发生 1 个错误:

  • 任务组服务器验证失败:发生 1 个错误:

  • 发生 2 个错误:

  • 最大并行数不能小于一:0 < 1

  • 交错必须大于零:0s)

你能帮我吗?

4

1 回答 1

2

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

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"
    }
...
于 2017-09-27T10:53:38.120 回答