Docker 如何通过Terraform设置Nomad
我是一个初学者,我很难为地形和游牧民族找到解决方案。我需要运行Nomad和hashi ui来对Nomad进行web管理。我尝试通过terrafom设置和运行Nomad服务器。我喜欢游牧工作。Nomad服务器和Hashi ui运行良好。我在码头上跑步。现在,我需要为自动化初始设置创建地形文件,并协调nomad。我的服务器运行在Debian8上 我的地形文件nomad.tf:Docker 如何通过Terraform设置Nomad,docker,debian,terraform,orchestration,nomad,Docker,Debian,Terraform,Orchestration,Nomad,我是一个初学者,我很难为地形和游牧民族找到解决方案。我需要运行Nomad和hashi ui来对Nomad进行web管理。我尝试通过terrafom设置和运行Nomad服务器。我喜欢游牧工作。Nomad服务器和Hashi ui运行良好。我在码头上跑步。现在,我需要为自动化初始设置创建地形文件,并协调nomad。我的服务器运行在Debian8上 我的地形文件nomad.tf: # Configure the Nomad provider provider "nomad" { address =
# 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}"
}
和nomad job 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:Put:dial tcp[::1]:4646:getsockopt:连接被拒绝时出错
- nomad_job.hashi-ui:发生1个错误:
- nomad_job.hashi-ui:应用作业规范时出错:意外响应代码:500(发生1个错误:
- 任务组服务器验证失败:出现1个错误:
- 发生2个错误:
- 最大平行度不能小于1:0<1
- 参差必须大于零(0秒)
你能帮帮我吗?你的nomad工作规范中缺少一个最大平行和交错:
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"
}
...
谢谢你的帮助。当我添加stragger和max_parallel时,它非常棒。