How-To: Identify The Virtual Interface of a Pod in the Root Namespace Using Flannel as the Network Backend

Problem

Identify the virtual interface of a particular pod in the root namespace of the node using flannel as Network backend.

Environment

  • Platform9 Managed Kubernetes - All Versions
  • Flannel

Procedure

  1. Use the docker command to identify the pause container for the pod as it holds the network namespace for the pod.
Copy
  1. Run docker inspect on the container Id obtained from the above command and look for the SandboxKey to get the namespace created for the pod.
Copy
  1. Use nsenter to get the interface details within the pod namespace.
Copy

ip netns command can not be used for the docker namespaces as it only knows about namespaces listed in /var/run/netns/

  1. Run ethtool on the interface with the pod's IP in the namespace above to obtain the peer index of the Veth-pair for the interface
Copy
  1. List the network interface on the node (root namespace) using ip command, the interface listed at the index obtained in the above step ( 27 in this case ) is the virtual interface for the pod in the root namespace.
Copy
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard