This topic describes how to upgrade Kubernetes in your Amazon Elastic Kubernetes Service (EKS) Domino deployment. EKS is hosted on Amazon Web Services (AWS).
Important
|
|
If you deployed your infrastructure using the terraform-aws-eks module version v3.0.1 or above, follow Upgrading K8s. Otherwise, there are 2 options:
-
Upgrade the module to version v3 using State Migration, then follow Upgrading K8s.
-
Follow the instructions below to perform the update with prior versions.
To upgrade Kubernetes on a Terraform-provisioned cluster you must have the following files used/created during the cluster creation:
-
Terraform state file:
terraform.tfstate
-
Variables file:
domino-terraform.auto.tfvars
-
Terraform configuration file:
main.tf
You’ll also need a Unix or Linux terminal with the following:
-
Terraform installed with an active session (see the Terraform module requirements for compatible versions).
-
Amazon Web Services Command Line Interface (AWS CLI) installed.
-
Set AWS credentials in the environment:
export AWS_ACCESS_KEY_ID='_FILL_ME_IN_' export AWS_SECRET_ACCESS_KEY='_FILL_ME_IN_' export AWS_REGION='_FILL_ME_IN_'
-
Validate that there are no pending changes:
terraform plan
The following message indicates no pending changes:
No changes. Your infrastructure matches the configuration.
-
Open the
domino-terraform.auto.tfvars
file and add/edit thek8s_version
attribute with the desired Kubernetes version:k8s_version = '_FILL_ME_IN_'
NoteIf you are using custom images for the node groups you will need to provide the appropriate Amazon Machine Image (AMI). -
Validate the desired changes:
terraform plan -out=terraform.plan
-
Update the cluster and
node_groups
:terraform apply terraform.plan
The upgrade takes some time as terraform apply
performs these actions:
-
The control plane is upgraded to the desired version.
-
The latest
amazon-eks-node
version is retrieved and applied to themanaged-node-groups
. The update is detailed in Managed nodes update behavior.