How to prevent NetworkManager from interfering with Kubernetes cluster networking interfaces

Follow
Table of Contents

Issue

NetworkManager can interfere with Kubernetes cluster networking, by attempting to manage interfaces created on cluster nodes by the CNI (Container Network Interface) plugin. This article details how to prevent NetworkManager from managing CNI interfaces, in clusters running with the Canal, Calico, Flannel or Weave CNI plugins.

Pre-requisites

Resolution

  1. Create the file /etc/NetworkManager/conf.d/cni.conf on each of the Linux nodes in the cluster, with the content below, depending upon the CNI plugin used:

    Canal:

    [keyfile]
    unmanaged-devices=interface-name:flannel.1;interface-name:cali*

    Calico:

    [keyfile]
    unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico

    Flannel:

    [keyfile]
    unmanaged-devices=interface-name:flannel.1;interface-name:veth*;interface-name:cni0

    Weave:

    [keyfile]
    unmanaged-devices=interface-name:weave;interface-name:datapath;interface-name:veth*;interface-name:vxlan-*
  2. Restart the NetworkManager service:

    systemctl restart NetworkManager
Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.