From 6130a3c2429e0523f3aa80a364f63f83e3823b7e Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Wed, 27 Mar 2024 11:13:18 +0100 Subject: [PATCH] Add consul services --- controller.nomad.hcl | 5 +++++ example/controller.nomad.hcl | 24 ++++++++++++++++++++++ example/node.nomad.hcl | 40 ++++++++++++++++++++++++++++++++++++ node.nomad.hcl | 7 +++++++ variables.yml | 5 +++++ 5 files changed, 81 insertions(+) diff --git a/controller.nomad.hcl b/controller.nomad.hcl index 4c9c1fd..c80d2ec 100644 --- a/controller.nomad.hcl +++ b/controller.nomad.hcl @@ -12,6 +12,11 @@ job "[[ .instance ]]-controller" { [[ template "common/constraints" $c ]] + service { + name = "[[ $.instance ]]-[[ $proto ]]-controller[[ $.consul.suffix ]]" +[[ template "common/service_meta" $c ]] + } + restart { interval = "5m" attempts = 30 diff --git a/example/controller.nomad.hcl b/example/controller.nomad.hcl index 2f397db..8bb1dc5 100644 --- a/example/controller.nomad.hcl +++ b/example/controller.nomad.hcl @@ -18,6 +18,18 @@ job "democratic-csi-controller" { } + service { + name = "democratic-csi-iscsi-controller" + meta { + alloc = "${NOMAD_ALLOC_INDEX}" + group = "${NOMAD_GROUP_NAME}" + job = "${NOMAD_JOB_NAME}" + namespace = "${NOMAD_NAMESPACE}" + node = "${node.unique.name}" + } + + } + restart { interval = "5m" attempts = 30 @@ -152,6 +164,18 @@ _EOF } + service { + name = "democratic-csi-nfs-controller" + meta { + alloc = "${NOMAD_ALLOC_INDEX}" + group = "${NOMAD_GROUP_NAME}" + job = "${NOMAD_JOB_NAME}" + namespace = "${NOMAD_NAMESPACE}" + node = "${node.unique.name}" + } + + } + restart { interval = "5m" attempts = 30 diff --git a/example/node.nomad.hcl b/example/node.nomad.hcl index 3aa6344..28e0522 100644 --- a/example/node.nomad.hcl +++ b/example/node.nomad.hcl @@ -8,6 +8,26 @@ job "democratic-csi-node" { group "iscsi-node" { + + + constraint { + operator = "distinct_hosts" + value = "true" + } + + + service { + name = "democratic-csi-iscsi-node" + meta { + alloc = "${node.unique.name}" + group = "${NOMAD_GROUP_NAME}" + job = "${NOMAD_JOB_NAME}" + namespace = "${NOMAD_NAMESPACE}" + node = "${node.unique.name}" + } + + } + restart { interval = "5m" attempts = 30 @@ -108,6 +128,26 @@ _EOF group "nfs-node" { + + + constraint { + operator = "distinct_hosts" + value = "true" + } + + + service { + name = "democratic-csi-nfs-node" + meta { + alloc = "${node.unique.name}" + group = "${NOMAD_GROUP_NAME}" + job = "${NOMAD_JOB_NAME}" + namespace = "${NOMAD_NAMESPACE}" + node = "${node.unique.name}" + } + + } + restart { interval = "5m" attempts = 30 diff --git a/node.nomad.hcl b/node.nomad.hcl index 8372ec1..d3435f9 100644 --- a/node.nomad.hcl +++ b/node.nomad.hcl @@ -10,6 +10,13 @@ job "[[ .instance ]]-node" { group "[[ $proto ]]-node" { +[[ template "common/constraints" $c ]] + + service { + name = "[[ $.instance ]]-[[ $proto ]]-node[[ $.consul.suffix ]]" +[[ template "common/service_meta" $c ]] + } + restart { interval = "5m" attempts = 30 diff --git a/variables.yml b/variables.yml index bdbcf4c..e814fb3 100644 --- a/variables.yml +++ b/variables.yml @@ -75,6 +75,11 @@ democratic_csi: # Settings for node plugins node: + consul: + meta: + # Override the alloc meta to use the node name instead of the alloc index + alloc: '${node.unique.name}' + # Resource allocation resources: cpu: 100