Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cilium ENI mode for CAPA #2563

Closed
3 tasks done
T-Kukawka opened this issue Jun 13, 2023 · 8 comments
Closed
3 tasks done

Cilium ENI mode for CAPA #2563

T-Kukawka opened this issue Jun 13, 2023 · 8 comments
Assignees

Comments

@T-Kukawka
Copy link
Contributor

T-Kukawka commented Jun 13, 2023

Same as for Vintage, we will have to make an option for clusters to run in Cilium ENI mode. Our CAPA EKS solution has this already implemented by default

  • CAPA managed clusters
  • EKS CAPA managed clusters

UPDATE:
During the implementation task, it was discovered that CAPA only supports single CIDR, whereas we use a special CIDR for Cilium in Vintage as well as EKS (which has support for setting: AWSManagedControlPlane.spec.secondaryCidrBlock).

Not to waste our efforts, we will first release the Cilium ENI mode for CAPA marked as prototype. Thanks to this we will have already all the values and schema in place, where the implementation will follow.

Implementation will include support for AWSManagedControlPlane.spec.secondaryCidrBlock same as EKS, which also will involve adding handling of respective security groups and routing tables for added resources.

For the Vintage <-> CAPA migration we have to pay attention such that we do not create the seceondary CIDR once again, as it should be available and migrated from Vintage cluster.

Tasks

Preview Give feedback
  1. 1 of 1
    goal/capa-internal-ga team/phoenix
    AndiDog
@T-Kukawka
Copy link
Contributor Author

also blocked by: #2940

@AndiDog
Copy link

AndiDog commented Dec 7, 2023

Blocked by upstream issues in ENI mode #3006

@AndiDog
Copy link

AndiDog commented Jan 15, 2024

We want to try this again with the backport from #3005

@AndiDog
Copy link

AndiDog commented Jan 22, 2024

v1.14.5 seems to work. I created a CAPA WC and pods on worker nodes had connectivity to the internet. Also on newly-added worker nodes.

@calvix
Copy link

calvix commented Feb 15, 2024

Let's also not forget about implementing proper pod limits for nodes to account for ENI limits - like we have in vintage - https://github.com/giantswarm/k8scloudconfig/blob/master/files/conf/setup-kubelet-environment

in EKS this is done by AWS, for CAPA we need to configure it

@AndiDog
Copy link

AndiDog commented Mar 27, 2024

kubernetes-sigs/cluster-api-provider-aws#4898 implements the secondary VPC IPv4 CIDR in upstream CAPA. I tried the backported change and it worked fine in our release-2.3 branch.

Next, I need to look into assigning a security group to pods in the secondary CIDR, as we have it in Vintage AWS. And the aforementioned pod limit still needs to be implemented as well.

@T-Kukawka
Copy link
Contributor Author

@AndiDog
Copy link

AndiDog commented Sep 29, 2024

From what I can see and remember, this is all done and all CAPA changes were fully upstreamed.

@AndiDog AndiDog closed this as completed Sep 29, 2024
@github-project-automation github-project-automation bot moved this from Backlog 📦 to Done ✅ in Roadmap Sep 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

4 participants