我是初学者,我很难找到 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 个错误:
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:应用作业规范时出错:意外响应代码:500(发生 1 个错误:
任务组服务器验证失败:发生 1 个错误:
发生 2 个错误:
最大并行数不能小于一:0 < 1
- 交错必须大于零:0s)
你能帮我吗?