-
Notifications
You must be signed in to change notification settings - Fork 629
✨ IPv6 support for self-managed clusters #5603
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
Open
tthvo
wants to merge
20
commits into
kubernetes-sigs:main
Choose a base branch
from
tthvo:singestack-ipv6
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+24,114
−9,359
Open
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
e27ccf3
validations: allow IPv6 configurations for unmanaged clusters
tthvo 7b3846e
ec2: enable primary IPv6 on ENI for EC2 instances
tthvo aa0221e
ec2: support option HTTPProtocolIPv6 for EC2 IMDS
tthvo 17f3816
routing: ensure routes to eigw are up to date
tthvo b910741
subnets: configure default subnets to use NAT64/DNS64
tthvo cbddc1a
eigw: use cluster tag key to list managed egress-only internet gateway
tthvo b11e1fc
securitygroup: ensure icmpv6 is supported
tthvo b60ecb1
securitygroup: allow setting allowed IPv6 CIDR for node NodePort serv…
tthvo ace87c9
securitygroup: allow configuring IPv6 source CIDRs for bastion SSH
tthvo cc1fed5
crd: add IPv6 of bastion host to cluster status
tthvo 543f7d3
template: manifest templates for IPv6-enabled cluster
tthvo 55bb29f
cni: customized calico manifests for single-stack IPv6
tthvo f6cdcc9
docs: add documentations for enabling IPv6 in non-eks clusters
tthvo c11fd51
validations: validate vpc and subnet CIDR
tthvo b0363f4
docs: update doc for enabling ipv6
tthvo 32551c3
cni: document the requirement for calico ipv6 support
tthvo 01b3c12
subnets: wait till IPv6 CIDR is associated with subnets
tthvo 6b3cded
sg: allow both ipv4 and ipv6 cidrs to API LB if vpc ipv6 block is def…
tthvo 4171752
crd: clarify isIpv6 field on subnet spec
tthvo 3abd5a1
api: add spec field to configure target group ipType
tthvo File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
It is possible to have an IPv6-enabled VPC that contains IPv4 subnets. In that case, I would assume that this field would be unset or explicitly set to false i.e even of IPv6 enabled VPCs, IPV4 subnets would be the default? Could you please confirm if that is the case and also update description to reflect what the default would be?
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.
So far, I only consider the "happy" default path that vpc and subnets are dual-stack. Let me add this to my list of questions to confirm. Will get back asap.
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.
Update: I updated the CRD description to:
This should mean that
IsIPv6
reflects the state of the subnet (i.e. not depending on the VPC). So, an Ipv4 subnet will havesn.IsIPv6==false
as expected even in a dualstack VPC.Commit: 43d6ec8
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.
That being said, CAPA will describe the subnet and update the field to reflect the correct state (i.e. IPv6 or not, depending on whether there is an associated IPv6 CIDR)
Describing subnets:
cluster-api-provider-aws/pkg/cloud/services/network/subnets.go
Lines 405 to 411 in f3c2166
Deep-copy subnet state to spec:
cluster-api-provider-aws/pkg/cloud/services/network/subnets.go
Lines 136 to 137 in f3c2166