178 lines
3.9 KiB
HCL
178 lines
3.9 KiB
HCL
job "seaweedfsmaster" {
|
|
datacenters = ["dc1"]
|
|
type = "service"
|
|
|
|
constraint {
|
|
attribute = "${attr.kernel.name}"
|
|
value = "linux"
|
|
}
|
|
|
|
constraint {
|
|
operator = "distinct_hosts"
|
|
value = "true"
|
|
}
|
|
|
|
// constraint {
|
|
// attribute = "${attr.unique.hostname}"
|
|
// operator = "regexp"
|
|
// # We need static IPs for master servers
|
|
// # dc1-n1 - 172.21.100.51
|
|
// # dc1-n2 - 172.21.100.52
|
|
// # dc1-n3 - 172.21.100.53
|
|
// value = "^odroid5.node.dc1.consul|odroid6.node.dc1.consul|odroid7.node.dc1.consul|odroid8.node.dc1.consul$"
|
|
// }
|
|
update {
|
|
stagger = "10s"
|
|
max_parallel = 1
|
|
healthy_deadline = "5m"
|
|
}
|
|
|
|
group "seaweedfsmaster" {
|
|
count = 3
|
|
|
|
restart {
|
|
attempts = 6
|
|
interval = "1m"
|
|
delay = "10s"
|
|
mode = "delay"
|
|
}
|
|
|
|
task "seaweedfsadmin" {
|
|
driver = "docker"
|
|
|
|
config {
|
|
image = "chrislusf/seaweedfs"
|
|
memory_hard_limit = "2048"
|
|
entrypoint = ["/usr/bin/weed"]
|
|
|
|
args = [
|
|
"admin",
|
|
"-masters=${NOMAD_GROUP_NAME}0.service.dc1.consul:9333,${NOMAD_GROUP_NAME}1.service.dc1.consul:9333,${NOMAD_GROUP_NAME}2.service.dc1.consul:9333",
|
|
"-dataDir=/data",
|
|
]
|
|
|
|
volumes = [
|
|
"/mnt/Public/configs/seaweedfadmin:/data/",
|
|
]
|
|
|
|
ports = ["seaweedfs_admin"]
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
task "seaweedfsmaster" {
|
|
driver = "docker"
|
|
|
|
config {
|
|
image = "chrislusf/seaweedfs"
|
|
memory_hard_limit = "2048"
|
|
entrypoint = ["/usr/bin/weed"]
|
|
|
|
args = [
|
|
"server",
|
|
"-ip=${NOMAD_GROUP_NAME}${NOMAD_ALLOC_INDEX}.service.dc1.consul",
|
|
"-ip.bind=0.0.0.0",
|
|
"-master.port=9333",
|
|
"-master.defaultReplication=002",
|
|
"-master.peers=${NOMAD_GROUP_NAME}0.service.dc1.consul:9333,${NOMAD_GROUP_NAME}1.service.dc1.consul:9333,${NOMAD_GROUP_NAME}2.service.dc1.consul:9333",
|
|
"-dir=/data",
|
|
"-filer",
|
|
"-filer.port=8877",
|
|
"-filer.port.grpc=18877",
|
|
"-s3",
|
|
"-webdav",
|
|
"-volume=true",
|
|
"-volume.port=9444",
|
|
"-volume.port.grpc=19444",
|
|
"-volume.max=100"
|
|
]
|
|
|
|
volumes = [
|
|
"/mnt/configs/seaweedfs:/data/",
|
|
]
|
|
|
|
ports = ["seaweedfs", "seaweedfs_high", "seaweedfs_filer", "seaweed_s3", "seaweed_webdav", "seaweedfs_filer_high","seaweedfs_vol","seaweedfs_vol_high"]
|
|
}
|
|
|
|
env {
|
|
seaweedfs_ACCESS_KEY = "seaweedfs"
|
|
seaweedfs_SECRET_KEY = "seaweedfs123"
|
|
}
|
|
|
|
service {
|
|
name = "${NOMAD_GROUP_NAME}${NOMAD_ALLOC_INDEX}"
|
|
tags = ["global", "seaweedfs"]
|
|
port = "seaweedfs"
|
|
}
|
|
|
|
service {
|
|
name = "seaweedfiler"
|
|
tags = ["global", "seaweedfs"]
|
|
port = "seaweedfs_filer"
|
|
}
|
|
|
|
resources {
|
|
cpu = 64 # 500 MHz
|
|
memory = 64 # 128MB
|
|
} #end resources
|
|
} #end task
|
|
|
|
network {
|
|
port "seaweedfs" {
|
|
static = 9333
|
|
to = 9333
|
|
}
|
|
|
|
port "seaweedfs_high" {
|
|
static = 19333
|
|
to = 19333
|
|
}
|
|
|
|
port "seaweedfs_filer" {
|
|
static = 8877
|
|
to = 8877
|
|
}
|
|
|
|
port "seaweedfs_filer_high" {
|
|
static = 18877
|
|
to = 18877
|
|
}
|
|
|
|
port "seaweed_s3" {
|
|
static = 8333
|
|
to = 8333
|
|
}
|
|
|
|
port "seaweed_webdav" {
|
|
static = 7333
|
|
to = 7333
|
|
}
|
|
port "seaweedfs_vol" {
|
|
static = "9444"
|
|
}
|
|
|
|
port "seaweedfs_vol_high" {
|
|
static = "19444"
|
|
}
|
|
port "seaweedfs_admin" {
|
|
static = "23646"
|
|
}
|
|
// port "s8080" {
|
|
// static = 8080
|
|
// to = 8080
|
|
// }
|
|
// port "s18080" {
|
|
// static = 18080
|
|
// to = 18080
|
|
// }
|
|
// port "seaweed_volume" {
|
|
// static = 9444
|
|
// to = 9444
|
|
// }
|
|
}
|
|
} # end group
|
|
} # end job
|