Container Network Interface (CNI) is a standard interface for managing IP networks between containers across many nodes.
We chose to use CNI - weave as our networking option.
Some of you may have noticed the announcement that WeaveWorks is no longer trading. At this time, this does not mean that Weave is not a valid CNI. WeaveWorks software has always been and remains to be open source, and as such is still useable. It just means that the company is no longer providing updates. While it continues to be compatible with Kubernetes, we will continue to use it as the other options (e.g. Calico, Cilium) require far more configuration steps.
Deploy weave network. Run only once on the controlplane01
node. You may see a warning, but this is OK.
On controlplane01
kubectl apply -f "https://github.com/weaveworks/weave/releases/download/v2.8.1/weave-daemonset-k8s-1.11.yaml"
It may take up to 60 seconds for the Weave pods to be ready.
List the registered Kubernetes nodes from the controlplane node:
kubectl get pods -n kube-system
Output will be similar to
NAME READY STATUS RESTARTS AGE
weave-net-58j2j 2/2 Running 0 89s
weave-net-rr5dk 2/2 Running 0 89s
Once the Weave pods are fully running, the nodes should be ready.
kubectl get nodes
Output will be similar to
NAME STATUS ROLES AGE VERSION
node01 Ready <none> 4m11s v1.28.4
node02 Ready <none> 2m49s v1.28.4
Next: Kube API Server to Kubelet Connectivity
Prev: Configuring Kubectl