Update to Version 3.5
Prerequisites
CloudOps for Kubernetes 3.5.x
has the following pre-requisites.
3.4.5
CloudOps for Kubernetes Complete the upgrade to CloudOps for Kubernetes release 3.4.5
or higher before upgrading to release 3.5.x
. Your environment must be on CloudOps for Kubernetes 3.4.5
or higher to successfully upgrade to release 3.5.x.
. For instructions on upgrading to release 3.4.x
, see Update to Version 3.4.
What Has Changed
For a list of the changes in the release, see Release Notes.
Changes that impact the upgrade process
CloudOps for Kubernetes release 3.5.x
contains the following changes that impact the upgrade process.
The Kubernetes version is updated from
1.31
to1.32
. Additional upgrade steps due to this change are noted below.The Jenkins server is updated to a new version. Unfortunately all newer Jenkins versions break compatibility with the Jenkins pipelines and, potentially, additional Jenkins plugins you may have installed. Additional upgrade steps due to this change are noted below.
The Kubernetes Metrics Server is now deployed as an EKS Add-On during the cluster provisioning process. During an upgrade from CloudOps for Kubernetes 3.4.x, the existing Metrics Server deployment will be briefly removed prior to reinstallation as an EKS Add-On.
Additional Upgrade Steps
Review your custom Jenkins jobs to determine if they are affected by and need to be updated as part of the upgrade. For more details, see Jenkins Upgrade in release 3.5.
Due to the Jenkins version change, it is necessary to reset all Jenkins plugins to the defaults shipped with CloudOps for Kubernetes. When upgrading your environment, ensure that
TF_VAR_jenkins_overwrite_plugins: "true"
is defined in yourdocker-compose.override.yml
file. After the upgrade is complete,TF_VAR_jenkins_overwrite_plugins
can be set tofalse
. For more information on this variable, consult thedocker-compose.yml
file included in the CloudOps for Kubernetes 3.5.x source code.Review any additional tools that you may have installed in the Kubernetes cluster, such as monitoring or security tools, and ensure that they are compatible with Kubernetes
1.32
. If they are not compatible then plan to update them as part of the upgrade process.Rebuild the Kubernetes nodegroups, as documented in Upgrading CloudOps for Kubernetes, as part of the upgrade process.
If you have been using a custom Amazon Machine Image (AMI) for your Kubernetes nodes, ensure it is compatible with Kubernetes
1.32
. One way to determine if you have been using a custom AMI is to view yourdocker-compose.override.yml
file and see if a value was specified for parameteraws_eks_ami
.Consider whether to use the new non-administrator Jenkins users in your environment. When transitioning to running jobs with the non-administrator users, consider changing the Jenkins admin user password. See Login Credentials for details on managing Jenkins users.
Preparation
Review all upgrade steps and requirements described in this document.
Review all upgrade steps and requirements described in Upgrading CloudOps for Kubernetes.
Review the instructions to reset the Jenkins plugins, and ensure that
TF_VAR_jenkins_overwrite_plugins: "true"
is defined in yourdocker-compose.override.yml
file during the initial environment upgrade.Document an upgrade plan with all steps that you will need to perform to complete the upgrade. Include validation steps in the upgrade plan. Validation should include the functionality of Jenkins jobs, Commerce services, and any custom tools.
Suggested: practice and refine the upgrade plan in an AWS account that is not used by other members of your team or by the business. For example, obtain an empty AWS account, setup CloudOps for Kubernetes release
3.4.x
and Commerce services in that account, then follow your upgrade plan to apply the CloudOps for Kubernetes update.Identify a time to apply the CloudOps for Kubernetes update to your production cluster. As part of the upgrade process you will need to rebuild the nodegroups because of the Kubernetes version change. There will likely be a Self Managed Commerce service outage while the EKS node groups are rebuilt. A Self Managed Commerce service outage duration of up to 15 minutes has been observed in our testing.
Perform the Update
Follow the general instructions on updating the cluster in the Upgrading CloudOps for Kubernetes documentation.