Skip to content

Commit

Permalink
Added initial upgrade docs
Browse files Browse the repository at this point in the history
  • Loading branch information
niallthomson committed Dec 28, 2023
1 parent 2f138a7 commit ca2d466
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions docs/eks_version_upgrades.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# EKS Workshop - EKS Version Upgrades

This document outlines the procedure to upgrade EKS versions for this workshop.

## Identify a kubectl version

The easiest way to do this seems to be to use the CHANGELOG file. For example for Kubernetes 1.25 you can find the latest version here:

https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.25.md

Alter that URL for the Kubernetes version you are updating to.

## Identify an AMI release

We never want to use the latest AMI due to the worker node upgrade scenario. This command will provide the name of the correct AMI for a specific version:

```
$ aws ec2 describe-images \
--owners amazon \
--filters "Name=name,Values=amazon-eks-node-1.25*" --query "Images[1].[Name,Description]" --output text
amazon-eks-node-1.25-v20230304 EKS Kubernetes Worker AMI with AmazonLinux2 image, (k8s: 1.25.6, containerd: 1.6.6-1.amzn2.0.2)
```

The name of the release expected by the EKS API for this AMI would be:

```
1.25.6-20230304
```

This is a combination of:
- the `k8s` value (`1.25.6`)
- the date string without the `v` (`20230304`)

## Update the version numbers

There are various places that reference the Kubernetes versions (Kubernetes, kubectl and AMI), make sure to update them all:

1. Docusaurus variables: `website/docusaurus.config.js`
1. IDE installer: `lab/scripts/installer.sh`
1. eksctl: `cluster/eksctl/cluster.yaml`
1. Terraform: `cluster/terraform/variables.tf`
1. Common kubectl: `/hack/lib/kubectl-version.sh`

0 comments on commit ca2d466

Please sign in to comment.