How to change for a node?

Hey all! I’m really stumped atm with jobs being bound to the wrong address.

Really fast, my network is setup like this: each of my servers has 2 IP addresses, the local one assigned to them by whatever network they are on and then their IP addresses on my VPN.

In the past, all jobs were correctly scheduled onto the VPN addresses and everything worked fine. The other day though, I added a new client node onto the cluster and nomad has decided to use the local address for new nodes, and this seems to be because it has set the local address as the on this node. However, I’m not sure what I should do to fix this!

Originally, the bind address in my nomad.hcl was, but the issue persists with the bind address changed to the VPN address. Changing the bind_addr in the nomad.hcl does change the advertise address, but not the unique ip-address field that seems to be corelated with container bind addresses.

What do I need to do to change what address jobs are bound to? Do you want me to send any more information? Thank you!!

Problematic client nomad.hcl:

datacenter = "home"

data_dir = "/opt/nomad/data"
bind_addr = "#####"  # <-- the VPN address of this node

telemetry {
  collection_interval = "1s"
  use_node_name = true
  prometheus_metrics = true
  publish_allocation_metrics = true
  publish_node_metrics = true

client {
  enabled = true
  servers = ["#####:4647"]  # <-- VPN address of the nomad server

  host_volume "traefik" {
    path = "/opt/nomad/traefik"
    read_only = false
  host_volume "torrent-data" {
    path      = "/data-external/Torrents"
    read_only = false

  host_volume "torrent-config" {
    path      = "/opt/nomad/torrent-config"
    read_only = false

consul {
    address = ""
    client_service_name = "#####"
    auto_advertise      = true
    client_auto_join    = true

plugin "docker" { }

Ok I got it, there’s a client option called network_interface. No idea how I missed that!!!

1 Like