The following sections contain CNI installation instructions for different environments.
Use the following settings to install Kong Mesh CNI on Amazon EKS.
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=10-aws.conflist" \
--set "kuma.controlPlane.envVars.KUMA_RUNTIME_KUBERNETES_INJECTOR_SIDECAR_CONTAINER_IP_FAMILY_MODE=ipv4" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=10-aws.conflist" \
--set "kuma.controlPlane.envVars.KUMA_RUNTIME_KUBERNETES_INJECTOR_SIDECAR_CONTAINER_IP_FAMILY_MODE=ipv4" \
kong-mesh kong-mesh/kong-mesh
Add KUMA_RUNTIME_KUBERNETES_INJECTOR_SIDECAR_CONTAINER_IP_FAMILY_MODE=ipv4 as EKS has IPv6 disabled by default.
Use the following settings to install Kong Mesh CNI on Azure Kubernetes Service (AKS).
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=10-azure.conflist" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=10-azure.conflist" \
kong-mesh kong-mesh/kong-mesh
Use the following settings to install Kong Mesh CNI on AKS with Azure CNI Overlay networking.
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=15-azure-swift-overlay.conflist" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=15-azure-swift-overlay.conflist" \
kong-mesh kong-mesh/kong-mesh
Use the following settings to install Kong Mesh CNI in a Calico-managed cluster:
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=10-calico.conflist" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=10-calico.conflist" \
kong-mesh kong-mesh/kong-mesh
To install the Kong Mesh CNI with Calico on GKE, follow the Google - GKE section.
Use the following settings to install Kong Mesh CNI in a Cilium-managed cluster:
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=05-cilium.conflist" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=05-cilium.conflist" \
kong-mesh kong-mesh/kong-mesh
- You must set the Cilium configuration value
cni-exclusive or the corresponding Helm chart value cni.exclusive to false in order to use Cilium and Kong Mesh together. This is necessary starting with the Cilium v1.14.
- For Cilium versions older than 1.14, use
kuma.cni.confName=05-cilium.conf instead of kuma.cni.confName=05-cilium.conflist.
To install the Kong Mesh CNI with Cilium on GKE, follow the Google - GKE section.
To install the Kong Mesh CNI on GKE, enable network-policy in your cluster first (for existing clusters, this redeploys the nodes).
Define the variable CNI_CONF_NAME for your CNI, for example:
-
export CNI_CONF_NAME=05-cilium.conflist for Cilium
-
export CNI_CONF_NAME=10-calico.conflist for GKE Dataplane V1
-
export CNI_CONF_NAME=10-gke-ptp.conflist for GKE Dataplane V2
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/home/kubernetes/bin" \
--set "kuma.cni.confName=${CNI_CONF_NAME}" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/home/kubernetes/bin" \
--set "kuma.cni.confName=${CNI_CONF_NAME}" \
kong-mesh kong-mesh/kong-mesh
Use the following settings to install Kong Mesh CNI on K3D with Flannel:
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/var/lib/rancher/k3s/agent/etc/cni/net.d" \
--set "kuma.cni.binDir=/bin" \
--set "kuma.cni.confName=10-flannel.conflist" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/var/lib/rancher/k3s/agent/etc/cni/net.d" \
--set "kuma.cni.binDir=/bin" \
--set "kuma.cni.confName=10-flannel.conflist" \
kong-mesh kong-mesh/kong-mesh
Use the following settings to install Kong Mesh CNI on a Kind cluster:
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=10-kindnet.conflist" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.chained=true" \
--set "kuma.cni.netDir=/etc/cni/net.d" \
--set "kuma.cni.binDir=/opt/cni/bin" \
--set "kuma.cni.confName=10-kindnet.conflist" \
kong-mesh kong-mesh/kong-mesh
To install the Kong Mesh CNI on OpenShift 3.11, configure admission webhooks and grant the CNI service account the required privileges:
-
Install OpenShift 3.11 and enable MutatingAdmissionWebhook and ValidatingAdmissionWebhook.
-
Grant privileged permissions to the kong-mesh-cni service account:
oc adm policy add-scc-to-user privileged -z kong-mesh-cni -n kube-system
-
Install the CNI:
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.containerSecurityContext.privileged=true" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.containerSecurityContext.privileged=true" \
kong-mesh kong-mesh/kong-mesh
Use the following settings to install Kong Mesh CNI on OpenShift 4:
kumactl install control-plane \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.containerSecurityContext.privileged=true" \
| kubectl apply -f -
# Before installing Kong Mesh with Helm, configure your local Helm repository:
# https://developer.konghq.com/mesh/2.13/production/cp-deployment/kubernetes/#helm
helm install \
--create-namespace \
--namespace kong-mesh-system \
--set "kuma.cni.enabled=true" \
--set "kuma.cni.containerSecurityContext.privileged=true" \
kong-mesh kong-mesh/kong-mesh