Overview#

Following requirements must be met before installing KNL.

k8s cluster#

KNL should work with all types of k8s cluster: bare-metal, VM or container based. the compute resource (cpu, memory and storage) requirement mostly depends on overall requirement of lab nodes running, these resource requirement could be specified in the Lab CR.

Certain KNL node types like vsr, magc requires CPU pinning and hugepage memory to performan optimally, which requires certain linux kernel settings on the k8s worker node. consult correspoding product documentation for details.

Note 0
Currently KNL only support Linux/x86-64 k8s worker

Note 1
Admin access to the cluster is required to install KNL

Note 2
In case of VM based cluster (VM as k8s worker or container as worker inside VM), to support VM type node with decent performance, nested virtualization must be enabled on each VM. see instruction here

Note 3
In case of container based cluster (like kind), to support macvtap CNI plugin that KNL/k8slan uses, host /dev moust be mounted inside worker container

registry#

Varies KNL node types require container image to run, and some of them like Nokia vSIM don’t have offical registry, it is important to have access to a image registry access that new image could be uploaded.

Tip
A guide to setup private registry could be found here

k8s cluster storage#

A cluster wide k8s StorageClass provisioner that supports filesystem volume like NFS is required.

kubevirt#

KNL uses kubevirt to support all VM node types like vSIM, VSR ..etc. so following kubevirt related software must be installed in the cluster:

Tip
In case of a insecure registry is used for KNL, add it into cdi CR as described here

Following kubevirt feature gates must be enabled:

  • Sidecar
  • NetworkBindingPlugins
  • HostDevices
  • Root
  • CpuManager

Register kubevirt macvtap binding plugin as described here

multus#

Install multus as described here

k8slan#

k8slan provide unerlying connectity between lab nodes, read the Prerequisites before install.

verion v0.0.7+

CNI plugin#

Following standard CNI plugin are required:

Tip
install containernetworking cni plugins including bridge could be done via CNI installer

Cert manager#

install cert-manager

cdtool (optional)#

cdtool is a tool that converts VM disk image into container disk image that KNL could use.