-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Description
When the host machine’s network IP address changes due to:
- DHCP lease renewal
- Wi-Fi or Ethernet switching
- LXD bridge reallocation or container reboots
The Kubernetes API become unreachable and the Juju client may lose connectivity to the Kubernetes API server used by the controller, resulting in errors like below:
$ juju models
ERROR cannot connect to k8s api server; try running 'juju update-k8s --client <k8s cloud name>': starting proxy for api connection: connecting k8s proxy: Get "https://192.168.1.117:6443/api/v1/namespaces/controller-k8s/services/controller-service": dial tcp 192.168.1.117:6443: connect: no route to host
This completely breaks access to:
- The Juju controller
- All managed Kubernetes models
Why is this important?
This issue critically impacts production-grade environments where:
- Juju manages multiple Kubernetes models over dynamic networking
- IP addresses are not guaranteed to remain static.
- Automation, monitoring or lifecycle hooks depend on persistent controller access.
Juju is used to manage multiple Kubernetes models across dynamic or container-based networks.
Network addresses may change because of DHCP or other reasons, causing the stored API server IP to become unreachable. These failures can cause unexpected downtime or inability to access running applications and poor user experience and reliability risk in Canonical’s reference architecture. And there is not any solution available to recover the K8s cluster.
Request
Please provide a robust and automatic mechanism to detect and recover from host network changes.