-
Notifications
You must be signed in to change notification settings - Fork 575
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
✨ Support BYO Public IPv4 Pool when provision infrastructure #4905
✨ Support BYO Public IPv4 Pool when provision infrastructure #4905
Conversation
Hi @mtulio. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Temporary changes to test locally as it has been addressed in #4892 . It will be removed once merged/rebased;
dad9f3c
to
994196a
Compare
prevent WIP notifications |
994196a
to
fa1f162
Compare
/test pull-cluster-api-provider-aws-e2e |
@mtulio: Cannot trigger testing until a trusted user reviews the PR and leaves an In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
fa1f162
to
4c41955
Compare
/ok-to-test |
|
4bba41a
to
3648331
Compare
/test pull-cluster-api-provider-aws-test |
3648331
to
a62b90d
Compare
/test pull-cluster-api-provider-aws-e2e-eks |
Introducing support of BYO Public IPv4 Pool to allow CAPA allocate IPv4 Elastic IPs from user-provided IPv4 pools that was brought to AWS when provisioning base cluster infrastructure. This change introduce the API fields: - AWSCLuster NetworkSpec.ElasticIPPool: allowing the controllers to consume from user-provided public pools when provisioning core components from the infrastructure, like Nat Gateways and public Network Load Balancer (API server only) - AWSMachine ElasticIPPool: allowing the machine to consume from BYO Public IPv4 pool when the instance is deployed in the public subnets. The ElasticIPPool structure defines a custom IPv4 Pool (previously created in the AWS Account) to teach controllers to set the pool when creating public ip addresses (Elastic IPs) for components which requires it, such as Nat Gateways and NLBs.
d1c6604
to
2f230b3
Compare
Thanks @jcpowermac and @rvanderp3 for taking care of this PR addressing the review while I was out.
Hey @damdo - apologies I killed the jobs while addressing this comment. Let me trigger again: /test pull-cluster-api-provider-aws-e2e-eks |
/test pull-cluster-api-provider-aws-e2e-eks |
Unrelated issue:
Looking the IAM resource name I will trigger again with a, hopefully, low traffic period (Friday night =] ). /test pull-cluster-api-provider-aws-e2e-eks |
Thanks for your diligence and patience with this @mtulio! /approve |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: nrb The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the great work here @mtulio & others!
/lgtm
Create support on installer to setup BYO Public Ipv4 pool feature from CAPA while provisioning the cluster when the config platform.aws.publicIpv4Pool is set. kubernetes-sigs/cluster-api-provider-aws#4905 The feature will tell the provisioner, CAPA, to claim EIPs from a custom Public IPv4 pool which the user provisioned and advertised to AWS, when creating infrastructure resources in public subnets, such as NAT Gateways, API's NLB, and bootstrap. This is a feature parity added on Terraform in 4.16: openshift#7983
Create support on installer to setup BYO Public Ipv4 pool feature from CAPA while provisioning the cluster when the config platform.aws.publicIpv4Pool is set. kubernetes-sigs/cluster-api-provider-aws#4905 The feature will tell the provisioner, CAPA, to claim EIPs from a custom Public IPv4 pool which the user provisioned and advertised to AWS, when creating infrastructure resources in public subnets, such as NAT Gateways, API's NLB, and bootstrap. This is a feature parity added on Terraform in 4.16: openshift#7983
What type of PR is this?
/kind feature
/kind api-change
/kind documentation
What this PR does / why we need it:
Introducing support of PublicIpv4Pool to provision base cluster infrastructure consuming public IPv4 (EIP) from a custom Public IPv4 pool brought to AWS.
A subset of changes of this PR is isolated into those PRs:
Which issue(s) this PR fixes
Fixes #4887
Special notes for your reviewer:
The changes proposes to create Elastic IPs for each resource and zone claiming public IP address when creating the core infrastructure components and Machines in public subnets. The components supported for core infrastructure are Nat Gateways and Network Load Balancer for API server.
Checklist:
Release note: