Install xNIC on Kubernetes

Prev Next

WHAT TO EXPECT

For Kubernetes, the xNIC is a lightweight daemonset that must be installed on every node with pods sending or receiving cloudSwXtch traffic. This creates a virtual network interface within the node in a Kubernetes Cluster. Applications that use IP multicast should target this virtual network interface.

In this article, you will learn how to install xNIC on K8s.

Supported Types 

Below is a list of supported K8s Clusters. The * denotes default.

  • AKS: Kubenet CNI*, Cilium CNI, or Callico CNI

  • EKS: Amazon VPC CNI* and Cilium CNI

  • GKE: Traditional CNI*, Callico CNI and Dataplane V2 (Cillium)

The following operating systems in a pod are supported for the xNIC on K8s: RHEL 8, RHEL 9, CentOS 8, Ubuntu 20.04, or Ubuntu 22.04.

Installation

The installation process can be split into three steps: 

  1. Create a Kubernetes Cluster (AKS, EKS, or GKE)

  2. Install xNIC on K8s Cluster

  3. Test xNIC on K8s

Post-Installation 

You can learn how to upgrade your xNIC nodes on K8s, here.

xNIC Architecture Diagram

Below is an example architecture for an xNIC installed on AKS with Cilium with communication to and from a cloudSwXtch. Other Virtual Machines (not AKS) with xNICs installed could also communicate with the AKS worker nodes via cloudSwXtch and xNIC v2. 

AKS-xNIC

Please note: The producer pod and consumer pod of the same stream must be in different nodes. For example, Consumer Pod 0 is consuming a stream from Producer Pod 1 from a different node. Consumer Pod 0 cannot consume what Producer Pod 0 is creating since they are in the same node.