Managing a network where containers can interoperate efficiently is very important. Kubernetes has adopted the Container Network Interface(CNI) specification for managing network resources on a cluster. This relatively simple specification makes it easy for Kubernetes to interact with a wide range of CNI-based software solutions.
With Charmed Kubernetes, these networking 'plug-ins' are deployed as
subordinate charms with each node running as a
kubernetes-worker, and ensure the smooth running of the cluster. It is
possible to choose one of several different CNI providers for Charmed
Kubernetes, which are listed below:
Supported CNI options
The currently supported base CNI solutions for Charmed Kubernetes are:
By default, Charmed Kubernetes will deploy the cluster using calico. To chose a different CNI provider, see the individual links above.
The following CNI addons are also available:
Migrating to a different CNI solution
As networking is a fundamental part of the cluster, changing the network on a live cluster is not straightforward. Currently it is recommended to create a new cluster with Charmed Kubernetes using the desired option. When federation becomes part of a future release of Kubernetes, such a migration should be manageable with no downtime.