The EWC Managed Kubernetes Service allows you to select CNI while creating a cluster. In this page we describe example cilium configuration which can be used to work with Ingress or Gateway API.

In order for Cilium to work as ingress controller or gateway controller we need to enable this explicitly. In a KKP user cluster this can be done while creating the cluster or on an existing cluster.

The point of change is the Cilium chart values which is deployed by KKP as an Addon application.

Change Cilium Values During Cluster Creation

Change Cilium Values for Existing Cluster


Example Values to Enable Cilium Ingress Controller

Besides existing values add the following:

cilium-ingress-controller-values
ingressController:
  enforceHttps: false
  enabled: true
  default: true
  loadbalancerMode: shared
  enableProxyProtocol: true
  service:
    annotations:
      loadbalancer.openstack.org/proxy-protocol: "true"
    name: cilium-ingress
    type: LoadBalancer


Example Values to Enable Gateway API With Cilium

cilium-gateway-api-values
gatewayAPI:
  enabled: true
  enableProxyProtocol: true


Save changes

If you edited the Cilium values during cluster creation, nothing else needs to be done and once the cluster comes up, it will have the required settings to support Ingress or Gateway API.

If you made the changes on an existing cluster:


KKP would now try to redeploy Cilium with new values:

wait for the status to turn green:


gateway-api-crds

Please make sure you have Gateway API CRDs installed before enabling Gateway API in Cilium. If you installed CRDs later, restart the cilium operator:

restart cilium
~ kubectl -n kube-system rollout restart deployment/cilium-operator 
~ kubectl -n kube-system rollout restart ds/cilium




Install Gateway API CRDs

The Gateway API CRDs can be installed (v1.4.1) as:

install-crds
~ kubectl apply -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.4.1/standard-install.yaml



crd compatibility

Make sure that the Cilium version installed on the cluster supports the version of Gateway API CRDs.

Cilium Gateway API Support



  • No labels