Assigning IPv6 addresses to pods and services
– Assigning IPv6 addresses to pods and services – Part 1
– Assigning IPv6 addresses to pods and services – Part 2
Deploy an IPv6 cluster and nodes
We deploy an IPv6 Amazon VPC, an Amazon EKS cluster with the IPv6 family, and a managed node group with Amazon EC2 Amazon Linux nodes.
Prerequisites
Before starting this deployment, we must install and configure the following tools and resources that we need to create and manage an Amazon EKS cluster.
The kubectl
command line tool installed on our computer or AWS CloudShell. The version must be the same, or up to two versions later than our cluster version.
To install or upgrade kubectl
, see Installing kubectl. For this deployment, the version must be 1.21 or later.
The IAM security principal that we’re using must have permissions to work with Amazon EKS IAM roles
and service linked roles
, AWS CloudFormation
, and a VPC
and related resources.
For more information, see Actions, resources, and condition keys for Amazon Elastic Kubernetes Service and Using service-linked roles in the IAM User Guide.
To deploy an IPv6 cluster with eksctl
Replace the example values
with our own. Replace region-code
with any AWS Region that is supported by Amazon EKS. For a list of AWS Regions, see Amazon EKS endpoints and quotas in the AWS General Reference guide.
We can replace t3.medium
with any AWS Nitro System instance type. The value for version must be 1.21
or a later supported Amazon EKS Kubernetes version.
The cluster name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and can’t be longer than 128 characters.
eksctl create cluster -f kuberipv6-cluster.yaml
Cluster creation takes several minutes. Don’t proceed until we see the last line of output, which looks similar to the following output.
...
[✓] EKS cluster "kcdcluster" in "us-east-1" region is ready
- Confirm that default pods are assigned IPv6 addresses.
kubectl get pods -n kube-system -o wide
- Confirm that default services are assigned IPv6 addresses.
kubectl get services -n kube-system -o wide
eksctl delete cluster kcdcluster
Thanks for reading my article till end. I hope you learned something special today. If you enjoyed this article then please share to your friends and if you have suggestions or thoughts to share with me then please write in the comment box.