Module for connecting multiple network interfaces to modules in Kubernetes (shturval-metacni)

About the service

ParameterDescription
GUI nameModule for connecting multiple network interfaces to modules in Kubernetes
System name (identifier)shturval-metacni
Cluster AssignmentConnecting multiple network interfaces to pods; multi-homing configuration on top of a core CNI (e.g. Cilium).
CriticalNo
Public repositoryMultus CNI
Dependenciesshturval-metacni-crds, shturval-networking
Namespacekube-system

Purpose

shturval-metacni - a module for connecting multiple network interfaces to modules in Kubernetes based on Multus. Multus acts as a meta plugin CNI: it connects one or more additional network plugins to the pod on top of the main cluster CNI (shturval-networking). Allows pods to use additional networks (for example, for isolation or specialized interfaces). To assign IP on Multus interfaces, use shturval-metacni-ipam (Whereabouts).

Installation from the directory: Services and repositories → Available charts → repository tab shturval → chart shturval-metacni → select the version, if necessary, set customvalues in the specification block → Install. More details: How to deploy a new service.

Where to configure

Services and repositories → Installed services → shturval-metacni → Manage. If you need to redefine chart parameters, apply the changes via ShturvalServicePatch.

Note: Requires installation in namespace kube-system.

To use SR-IOV interfaces in the GUI, the following must be additionally installed in the cluster:

  • shturval-sriov-crds

Creating additional network interfaces

To connect additional interfaces to pods, you must create a NetworkAttachmentDefinition resource that defines the CNI configuration for the interface, and then specify it in the pod annotations:

Example of a pod with additional interfaces connected
apiVersion: v1
kind: Pod
metadata:
  name: podname
  annotations:
    k8s.v1.cni.cncf.io/networks: macvlan-conf, name-conf
spec:
  containers:
  - name: containername
    command: ["/bin/ash", "-c", "trap : TERM INT; sleep infinity & wait"]
    image: alpine

Where macvlan-conf and name-conf are the names of the created NetworkAttachmentDefinitions.

To organize multinetworks with different IP addresses, use shturval-metacni-ipam (Whereabouts).


How to deploy this service - How to deploy a new service.