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:

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.

install cert-manager

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.