Cleanup EKS bootstrap parameters
According to AWS document, Amazon EKS adds Kubernetes labels to managed node group instances. These Amazon EKS provided labels are prefixed with eks.amazonaws.com
.
EKS adds the following Kubernetes label to all nodes in your managed node group that specifies the capacity type: eks.amazonaws.com/capacityType: ON_DEMAND
. You can use this label to schedule stateful or fault intolerant applications on On-Demand nodes.
EKS adds the following Kubernetes label to all spot nodes in the self-managed node group that specifies the capacity type: eks.amazonaws.com/capacityType: SPOT
.
Therefore, I do not need to manually label the worker nodes with the AMI ID it's using, or update that label every time I update the worker node's AMI or after I upgrade the EKS cluster.
/etc/eks/bootstrap.sh $name \ --kubelet-extra-args '--max-pods=110' \ --b64-cluster-ca $B64_CLUSTER_CA \ --apiserver-endpoint $API_SERVER_URL \ --dns-cluster-ip $K8S_CLUSTER_DNS_IP \ --use-max-pods false
For example, with the above script, a worker node will have the following labels with it. The labels that are prefixed with
eks.amazonaws.com
are added by EKS.% k describe no ip-10-0-x-yy.us-west-2.compute.internal
Name: ip-10-0-x-yy.us-west-2.compute.internal Roles: <none> Labels: beta.kubernetes.io/arch=arm64 beta.kubernetes.io/instance-type=t4g.medium beta.kubernetes.io/os=linux eks.amazonaws.com/capacityType=SPOT eks.amazonaws.com/nodegroup=t4gmedium-spot eks.amazonaws.com/nodegroup-image=ami-0f4914fefa7ca618d eks.amazonaws.com/sourceLaunchTemplateId=lt-04xxx16 eks.amazonaws.com/sourceLaunchTemplateVersion=1 failure-domain.beta.kubernetes.io/region=us-west-2 failure-domain.beta.kubernetes.io/zone=us-west-2b k8s.io/cloud-provider-aws=9366xxx756b kubernetes.io/arch=arm64 kubernetes.io/hostname=ip-10-0-x-yy.us-west-2.compute.internal kubernetes.io/os=linux node.kubernetes.io/instance-type=t4g.medium topology.ebs.csi.aws.com/zone=us-west-2b topology.kubernetes.io/region=us-west-2 topology.kubernetes.io/zone=us-west-2b
References
Managed node groups
amazon-eks-ami/files /bootstrap.sh