[EKS] [bug?]: Node's externalIP advertises IPv4 address even though EKS cluster is IPv6
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 334
- PR merge metrics
- No merged PRs in 30d
Description
### Community Note
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment
**Tell us about your request**
Right now when getting node details using kubectl eventhough the EKS cluster is in IPv6 mode, the node will advertise an external IP address that is IPv4 (specifically the IPv4 address auto provisioned due to the subnet being directly connected to the internet):
```
% kubectl get node ip-10-58-123-11.us-gov-west-1.compute.internal -o yaml
apiVersion: v1
kind: Node
metadata:
annotations:
csi.volume.kubernetes.io/nodeid: '{"ebs.csi.aws.com":"i-0a77f7a318e023475"}'
node.alpha.kubernetes.io/ttl: "0"
volumes.kubernetes.io/controller-managed-attach-detach: "true"
creationTimestamp: "2022-04-05T19:17:47Z"
labels:
beta.kubernetes.io/arch: amd64
beta.kubernetes.io/instance-type: t3a.medium
beta.kubernetes.io/os: linux
failure-domain.beta.kubernetes.io/region: us-gov-west-1
failure-domain.beta.kubernetes.io/zone: us-gov-west-1a
group: management
kubernetes.io/arch: amd64
kubernetes.io/hostname: ip-10-58-123-11.gov.aws.bert.test.sapns2.internal
kubernetes.io/os: linux
node.kubernetes.io/instance-type: t3a.medium
topology.ebs.csi.aws.com/zone: us-gov-west-1a
topology.kubernetes.io/region: us-gov-west-1
topology.kubernetes.io/zone: us-gov-west-1a
name: ip-10-58-123-11.us-gov-west-1.compute.internal
resourceVersion: "6326091"
uid: caf76ca5-2ba1-40da-921a-3d4fa2af01ef
spec:
providerID: aws:///us-gov-west-1a/i-0a77f7a318e023475
status:
addresses:
- address: 2600:1f12:c8f:5f1e:0:0:0:1b1b
type: InternalIP
- address: 15.205.63.68
type: ExternalIP
- address: ip-10-58-123-11.gov.aws.bert.test.sapns2.internal
type: Hostname
- address: ip-10-58-123-11.gov.aws.bert.test.sapns2.internal
type: InternalDNS
- address: ec2-15-205-63-68.us-gov-west-1.compute.amazonaws.com
type: ExternalDNS
```
I would expect an EKS cluster in IPv6 mode to not advertise nodes with IPv4 IP's. I would also expect the IPv6 address which is globally unique and thus an externalIP to be placed in the `externalIP` section of the node information.
**Which service(s) is this request for?**
EKS
**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
This is related to:
- https://github.com/aws/containers-roadmap/issues/1702
- https://github.com/kubernetes-sigs/metrics-server/issues/999
**Are you currently working around this issue?**
No workarounds known of
**Additional context**
EKS 1.22 cluster in IPv6 mode, nodes are launched into subnet that has IPv4/IPv6 addresses to allow node to NAT outgoing IPv4 pod traffic.
Contributor guide
Research direction
Start by reproducing the reported EKS 1.22 IPv6 behavior with kubectl and compare the node status addresses shown in the issue. Read the related aws/containers-roadmap#1702 and metrics-server#999 issues for context. Done means the expected IPv6 and IPv4 address classifications are documented or the EKS behavior is changed and verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, kubernetes
- Domain
- cloud, infrastructure, networking
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100