Skip to content
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

EKS: Upgrade to 1.28 #5569

Closed
21 tasks
poornima-krishnasamy opened this issue May 7, 2024 · 0 comments
Closed
21 tasks

EKS: Upgrade to 1.28 #5569

poornima-krishnasamy opened this issue May 7, 2024 · 0 comments

Comments

@poornima-krishnasamy
Copy link
Contributor

Issue 1:

Planning upgrade to EKS 1.28

Go through the release notes of EKS 1.28 and create a plan to upgrade our clusters

Things to consider:

Review changelog & release notes
EKS Module support at current version?
Are there any API deprecations & removals? (Check insights)
Are there new components being added?
What changes are being introduced to current components?
Are there changes to core infra of the CP required? i.e. Are all our current components compatible with ?
Are there changes users need to make?
Do we need to expand any of our smoke/integration testing?
Create additional tickets needed for any findings specific to this upgrade

Cluster upgrade Runbook:
https://runbooks.cloud-platform.service.justice.gov.uk/upgrade-eks-cluster.html

Issue 2:

Update vpc-cni from "v1.17.1-eksbuild.1" to the version needed for current k8s version.

Check for the latest supported addon version for the current kubernetes version and update the clusters. Its "v1.18.1-eksbuild.1" at the time of writing
Runbook link

Production Clusters Checklist:

  • live-2
  • manager
  • live

See the Amazon EKS add-ons documentation for more information about addons, or find the latest versions for these EKS add-ons directly:

Issue 3:

Update kube-proxy from "v1.27.10-eksbuild.2" to the version needed for current k8s version

Check for the latest supported addon version for the current kubernetes version and update the clusters
Runbook link

Production Clusters Checklist:

  • live-2
  • manager
  • live

See the Amazon EKS add-ons documentation for more information about addons, or find the latest versions for these EKS add-ons directly:

Issue 4:

Update core-dns from "v1.10.1-eksbuild.7" to the version needed for current k8s version

Check for the latest supported addon version for the current kubernetes version and update the clusters
Runbook link

Production Clusters Checklist:

  • live-2
  • manager
  • live

See the Amazon EKS add-ons documentation for more information about addons, or find the latest versions for these EKS add-ons directly:

Issue 5:

Test EKS 1.28 on test cluster

Follow instructions from Upgrade runbook: https://runbooks.cloud-platform.service.justice.gov.uk/upgrade-eks-cluster.html#upgrade-eks-cluster

Issue 6:

Test EKS 1.28 on live-like cluster

Follow instructions from creating a live like cluster runbook: https://runbooks.cloud-platform.service.justice.gov.uk/creating-a-live-like.html#creating-a-live-like-cluster

Issue 7:

EKS: Upgrade Production clusters to Kubernetes 1.28

https://runbooks.cloud-platform.service.justice.gov.uk/upgrade-eks-cluster.html

Production Clusters Checklist:

  • live-2
  • manager
  • live

Issue 8:

Update vpc-cni from "v1.18.1-eksbuild.1" to the version needed for the upgraded k8s version

Check for the latest supported addon version for the upgraded kubernetes version and update the clusters
Runbook link

Production Clusters Checklist:

  • live-2
  • manager
  • live

See the Amazon EKS add-ons documentation for more information about addons, or find the latest versions for these EKS add-ons directly:

Issue 9:

Update kube-proxy from "v1.27.10-eksbuild.2" to the version needed for the upgraded k8s version

Check for the latest supported addon version for the upgraded kubernetes version and update the clusters
Runbook link

Production Clusters Checklist:

  • live-2
  • manager
  • live

See the Amazon EKS add-ons documentation for more information about addons, or find the latest versions for these EKS add-ons directly:

Issue 10:

Update core-dns from v1.10.1-eksbuild.10 to the version needed for the upgraded k8s version

Check for the latest supported addon version for the upgraded kubernetes version and update the clusters
Runbook link

Production Clusters Checklist:

  • live-2
  • manager
  • live

See the Amazon EKS add-ons documentation for more information about addons, or find the latest versions for these EKS add-ons directly:

Issue 11:

Review cluster components for upgrading

https://runbooks.cloud-platform.service.justice.gov.uk/container-images.html#container-images-used-by-cluster-components

Review the compatibility matrix for all cluster components and verify if the image is compatible with the upgraded Kubernetes version

Issue 12:

Review and upgrade kube-state-metrics for the upgraded cluster version 1.28

https://runbooks.cloud-platform.service.justice.gov.uk/container-images.html#container-images-used-by-cluster-components

https://github.com/kubernetes/kube-state-metrics?tab=readme-ov-file#compatibility-matrix

Review the compatibility matrix of kube-state-metrics and verify if the image is compatible with the upgraded Kubernetes version. If the version is a mismatch, check if the whole kube-prometheus-chart needs updating to get the default version of kube-state-metrics from the chart-> values. Otherwise, pin the kube-state-metrics image to match the Kubernetes version.

Issue 13:

Upgrade cluster autoscaler for k8s version 1.28

The Cloud Platform Cluster is in k8s version . Hence upgrade the cluster-autoscaler to match the k8s version.

https://github.com/kubernetes/autoscaler/tree/master/charts/cluster-autoscaler
https://github.com/ministryofjustice/cloud-platform-terraform-cluster-autoscaler

Issue 14:

Upgrade cluster descheduler for k8s version 1.28

The Cloud Platform Cluster is in k8s version . Hence upgrade the descheduler to match the k8s version.

https://github.com/kubernetes-sigs/descheduler?tab=readme-ov-file#%EF%B8%8F--documentation-versions-by-release
https://github.com/ministryofjustice/cloud-platform-terraform-descheduler

Issue 15:

Post k8s version 1.28 Cleanup

Following upgrade from EKS , there will be a number of cleanup activities that need addressing:

Update user guide / runbook references
Update tools-image for kubectl version
Update cloud-platform-cli for kubectl version
Update concourse pipelines to use updated tools-image and cli

Issue 16:

Update Upgrade runbook and Cluster Upgrade Issue Template

Update the runbook for

  • any changes needed in the steps to perform the upgrade
  • any lessons learnt that could be useful for next upgrade
  • any changes to the upgrade issue template

Cluster upgrade Runbook:
https://runbooks.cloud-platform.service.justice.gov.uk/upgrade-eks-cluster.html

@poornima-krishnasamy poornima-krishnasamy added this to the EKS Upgrade 1.28 milestone May 7, 2024
@sj-williams sj-williams moved this from Todo to 🏗 In Progress in Cloud Platform Jun 17, 2024
@sj-williams sj-williams moved this from 🏗 In Progress to 👀 Review/QA in Cloud Platform Jun 19, 2024
@sj-williams sj-williams moved this from 👀 Review/QA to 🥇 Done in Cloud Platform Jun 21, 2024
@sj-williams sj-williams closed this as completed by moving to 🥇 Done in Cloud Platform Jun 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants