sigs.k8s.io/cluster-api-provider-aws@v1.5.5/docs/book/src/topics/eks/pod-networking.md (about)

     1  # Pod Networking
     2  
     3  When creating a EKS cluster the Amazon VPC CNI will be used by default for Pod Networking.
     4  
     5  > When using the AWS Console to create an EKS cluster with a Kubernetes version of v1.18 or greater you are required to select a specific version of the VPC CNI to use.
     6  
     7  ## Using the VPC CNI Addon
     8  You can use an explicit version of the Amazon VPC CNI by using the **vpc-cni** EKS addon. See the [addons](./addons.md) documentation for further details of how to use addons.
     9  
    10  ## Using an alternative CNI
    11  
    12  There may be scenarios where you do not want to use the Amazon VPC CNI. EKS supports a number of alternative CNIs such as Calico, Cilium, and Weave Net (see [docs](https://docs.aws.amazon.com/eks/latest/userguide/alternate-cni-plugins.html) for full list).
    13  
    14  There are a number of ways to install an alternative CNI into the cluster. One option is to use a [ClusterResourceSet](https://cluster-api.sigs.k8s.io/tasks/experimental-features/cluster-resource-set.html) to apply the required artifacts to a newly provisioned cluster.
    15  
    16  When using an alternative CNI you will want to delete the Amazon VPC CNI, especially for a cluster using v1.17 or less. This can be done via the **disableVPCCNI** property of the **AWSManagedControlPlane**:
    17  
    18  ```yaml
    19  kind: AWSManagedControlPlane
    20  apiVersion: controlplane.cluster.x-k8s.io/v1beta1
    21  metadata:
    22    name: "capi-managed-test-control-plane"
    23  spec:
    24    region: "eu-west-2"
    25    sshKeyName: "capi-management"
    26    version: "v1.18.0"
    27    disableVPCCNI: true
    28  ```
    29  
    30  > You cannot set **disableVPCCNI** to true if you are using the VPC CNI addon.
    31  
    32  Some alternative CNIs provide for the replacement of kube-proxy, such as in [Calico](https://projectcalico.docs.tigera.io/maintenance/ebpf/enabling-ebpf#configure-kube-proxy) and [Cilium](https://docs.cilium.io/en/stable/gettingstarted/kubeproxy-free/). When enabling the kube-proxy alternative, the kube-proxy installed by EKS must be deleted. This can be done via the **disable** property of **kubeProxy** in **AWSManagedControlPlane**:
    33  
    34  ```yaml
    35  kind: AWSManagedControlPlane
    36  apiVersion: controlplane.cluster.x-k8s.io/v1beta1
    37  metadata:
    38    name: "capi-managed-test-control-plane"
    39  spec:
    40    region: "eu-west-2"
    41    sshKeyName: "capi-management"
    42    version: "v1.18.0"
    43    disableVPCCNI: true
    44    kubeProxy:
    45      disable: true
    46  ```
    47  
    48  > You cannot set **disable** to true in **kubeProxy** if you are using the kube-proxy addon.
    49  
    50  ## Additional Information
    51  
    52  See the [AWS documentation](https://docs.aws.amazon.com/eks/latest/userguide/pod-networking.html) for further details of EKS pod networking.