Multihoming and etcd
Theetcd
cluster needs to establish a mesh of connections among the members.
It is done using the so-called advertised address - each node learns the others’ addresses as they are advertised.
It is crucial that these IP addresses are stable, i.e., that each node always advertises the same IP address.
Moreover, it is beneficial to control them to establish the correct routes between the members and, e.g., avoid congested paths.
In Talos, these addresses are controlled using the cluster.etcd.advertisedSubnets
configuration key.
Multihoming and kubelets
Stable IP addressing for kubelets (i.e., nodeIP) is not strictly necessary but highly recommended as it ensures that, e.g., kube-proxy and CNI routing take the desired routes. Analogously to etcd, for kubelets this is controlled viamachine.kubelet.nodeIP.validSubnets
.
For example, let’s assume that we have a cluster with two networks:
- public network
- private network
192.168.0.0/16
etcd
cluster will use the private network for communication and the kubelets will use the private network for communication with the control plane.