Kubernetes 101 : Container Network Interface - Installing Calico CNI -

For the pods to be able to communicate inside the Kubernetes cluster, they need a CNI - Container Network Interface -. 

We will take as an example Calico which uses layer 2 BGP protocol to connect the pods. Pods could advertize routes to each other

Without the CNI, pods that rely on the CNI for their networking, like the "coredns" pods will be in the pending state when they start:

The above pods are in the pending state waiting for the network to be available to them.

For these pods to move to a running state, we will need to have a CNI up and running in the cluster.

To install Calico, we will use the Yaml file for the deployment object of calico pods.


The Calico documentation will have the latest Yaml installation files.

To check the pods of our Calico CNI, we use the below command:

Usually three pods are created, two Calico pods and the Calico controller for the pods:

We could check to see if our coredns pods have changed to a running state:

  • -l : stands for label.
  • -n : stands for namespace.


Leave as a comment: