Container Network interface (CNI) is a CNCF project that consist of specification and libraries for writing network plugins to configure network interfaces in Linux containers. When a Kubernetes cluster is bootstrapped with Kubeadm, it uses CNI as its default network interface mechanism. Some of the popular CNI’s are Flannel, Calico, Weave, Cilium and Contive networking. Kubernetes invokes the CNI as an executable. Each CNI’s have support for different features and it is up to the cluster administrator to determine the CNI suitable for their environment.