Kubernetes Updating Cluster
Scenario:
Updating the kubernetes cluster of the EKS v1.30 to v1.31
through the awscli without zero downtime.
Steps:
Step-1: Launched a ec2 instance at first and then with awscli
completely setup the EKS cluster in the region eu-west-1 without
node group.
eksctl create cluster --name=EKS-1 \
--region=eu-west-1 \
--zones=eu-west-1a,eu-west-1b \
--version=1.30 \
--without-nodegroup
Step-2: Then by using iam-oidc provider to communicate cluster
nodes, pods to remaining aws services.
eksctl utils associate-iam-oidc-provider \
--region eu-west-1 \
--cluster EKS-1 \
--approve
Step-3: Created a node group with t2.medium and remain
requriments as below.
eksctl create nodegroup --cluster=EKS-1 \
--region=eu-west-1 \
--name=node2 \
--node-type=t2.medium \
--nodes=2 \
--nodes-min=1 \
--nodes-max=2 \
--node-volume-size=20 \
--ssh-access \
--ssh-public-key=ireland \
--managed \
--asg-access \
--external-dns-access \
--full-ecr-access \
--appmesh-access \
--alb-ingress-access
Step-4: After successful setup of the EKS cluster then, I
deployed an application using Jenkins CICD pipeline in the ec2
instance.
Step-5: Load Balancer has been created and assigned with
target instances and output
Step-6: Now updating the kubernetes cluster from v1.30 to
v1.31 by awscli.
Syntax: eks upgrade cluster --name <cluster-name> --region
<region> --version 1.31 –approve
Step-7: The cluster updating in process and it will take some
mean time to update it.
Updated to 1.31
Step-8: While updating the cluster there will be zero
Downtime for the application, so here is the output
Step-9: After successful update of the cluster, then trying to
update the node group by following the strategy Rollout
strategy.
Step-10: After update the cluster works fine