Module for connecting multiple network interfaces to modules in Kubernetes (shturval-metacni)
About the service
| Parameter | Description |
|---|---|
| GUI name | Module for connecting multiple network interfaces to modules in Kubernetes |
| System name (identifier) | shturval-metacni |
| Cluster Assignment | Connecting multiple network interfaces to pods; multi-homing configuration on top of a core CNI (e.g. Cilium). |
| Critical | No |
| Public repository | Multus CNI |
| Dependencies | shturval-metacni-crds, shturval-networking |
| Namespace | kube-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.