title: How does Kubernetes choose which network plugin to execute when creating a Pod?
body: <p>Is it possible to apply many network plugins in Kubernetes and if so, which network plugin would be used when creating a Pod?</p>
  
  <p>In <a href="https://github.com/containernetworking/cni/blob/master/SPEC.md" rel="nofollow noreferrer">CNI SPEC</a>, it doesn't describe the strategy that selects the <strong>corresponding</strong> plugin.  </p>
  
  <p>I have found a possibly related function that solves my doubt: <a href="https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/network/cni/cni.go#L95" rel="nofollow noreferrer">getDefaultCNINetwork()</a>. From this function, I think it is possible to apply many network plugins in Kubernetes and when creating a Pod, Kubernetes will apply the first network plugin in the alphabet order of network plugin confs. Is it right?</p>