Files
NomadBackup/nomad_backup/seaweedfsmaster.hcl
2025-11-21 21:10:40 +00:00

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