In a vSphere Supervisor environment, a new VKS cluster deploys on Antrea CNI instead of cilium CNI.
When describing the newly deployed VKS cluster, the bootstrapAddons section is missing:
kubectl describe cluster -n <namespace> <cluster name>
From the newly deployed VKS cluster's context, the only CNI pods present are antrea.
kubectl get pods -n kube-system
antrea-agent-<id>
antrea-controller-<id>
VKS clusters using cilium have the following pods in the kube-system namespace:
If Hubble was enabled, the below pods are expected:
vSphere Supervisor
VKS Cluster
A step was missed or there is misconfiguration in the YAML used to deploy the VKS cluster.
Multiple spec.topology.variables sections* will result in the system removing any additional variables section when deploying the VKS cluster.
This can result in the bootstrapAddons section disappearing when describing the VKS cluster. Without a CNI specified, the system defaults to Antrea CNI.
*Please note that this is specifically spec.topology.variables. This does not apply to variable overrides within a node-pool.
Creating a VKS cluster on cilium has the following pre-requisites:
kubectl get addonrepository -AOlder addonRepositories do not have cilium available as an addon.
The latest versions of the addonRepository can be downloaded from the Broadcom Support Portal under vSphere Kubernetes Service -> Drivers & Tools -> VKS Standard Packages.
kubectl get addonrepositoryinstall -A
kubectl describe addonrepositoryinstall -n vmware-system-vks-public <name>
kubectl get addons -A | grep cilium
variables:
- name: bootstrapAddons
value:
cniRef:
name: ciliumWe recommend the variables section to be configured at the bottom of the YAML.
Warning: addon vmware-system-vks-public/cilium does not have the required CNI category label, it may cause the cluster to be in an NotReady state