Custom CNI Setup
The Container Network Interface (CNI) defines how network plugins integrate with container runtimes. While SKS clusters come with Calico or Cilium by default, you may choose to use a custom CNI plugin or configuration.
To ensure compatibility with your SKS cluster, please review the following requirements for custom CNI usage:
- Install the CNI Plugin on All Nodes: Ensure the CNI plugin is installed across all cluster nodes.
Remove any
nodeSelector
constraints, and set broad tolerations so it can be scheduled on any node. - Network Interface Configuration: Set up the CNI plugin to use the correct network interface for outgoing traffic.
- Pod CIDR Range: The Pod CIDR range should be set to
192.168.0.0/16
. - IPAM Management: Your custom CNI plugin should not manage Pod CIDR ranges. SKS handles IP Address Management (IPAM) automatically.
- Kubernetes API Server Connection:
- Set
KUBERNETES_SERVICE_HOST
andKUBERNETES_SERVICE_PORT
to point to your SKS API server. These values are typically:- Host:
<cluster-id>.sks-<zone-name>.exo.io
- Port:
443
- Host:
- You can locate these values in the Generate Kubeconfig section of the SKS console.
- Set
- Service Proxy Conflicts: If your CNI plugin includes a Service Proxy, disable the default
kube-proxy
(details below). - DNS Configuration: Ensure the DNS suffix is set to
cluster.local
if your CNI plugin requires DNS settings.
Following these guidelines will help ensure your custom CNI works seamlessly within your SKS environment.