Manual Install - Requirements
Overview
Following requirements must be met before installing KNL manually.
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
Scripts
Host and cluster constraints in this section still apply when using Install with scripts (OS, nested virtualization, admin access, etc.).
Note
Note 0
Currently KNL only support Linux/x86-64 k8s worker
Note
Note 1
Admin access to the cluster is required to install KNL
Note
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
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
Note
Scripts
Installed automatically when using Install with scripts (local registry on NodePort 30500; omit with --skip-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.
Details
Tip
A guide to setup private registry could be found here
k8s cluster storage
Note
Scripts
Installed automatically when using Install with scripts (knl-pvc created with local-path by default; use --storage-class to change).
A cluster wide k8s StorageClass provisioner that supports filesystem volume like NFS is required.
kubevirt
Note
Scripts
Installed and configured automatically when using Install with scripts.
KNL uses kubevirt to support all VM node types like vSIM, VSR ..etc. so following kubevirt related software must be installed in the cluster:
- install kubevirt: 1.6.3+
- install kubevirt Containerized Data Importer: 1.63.1+
Details
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
Note
Scripts
Installed automatically when using Install with scripts.
Install multus as described here
k8slan
Note
Scripts
Installed automatically when using Install with scripts (IPv6 forwarding is enabled on the host).
k8slan provide unerlying connectity between lab nodes, read the Prerequisites before install.
verion v0.0.7+
CNI plugin
Note
Scripts
Installed automatically when using Install with scripts.
Following standard CNI plugin are required:
Details
Tip
install containernetworking cni plugins including bridge could be done via CNI installer
Cert manager
Note
Scripts
Installed automatically when using Install with scripts.
cdtool (optional)
Note
Scripts
Not installed by scripts.
cdtool is a tool that converts VM disk image into container disk image that KNL could use.