4 Upgrading to Release 1.7

This section describes how to upgrade Oracle Cloud Native Environment from Release 1.6 to Release 1.7.

When the Oracle Cloud Native Environment packages and the Kubernetes cluster are upgraded to Release 1.7, you can use the new features in this release.

Perform each step in this chapter to upgrade an environment from Release 1.6 to Release 1.7.

Important:

Before you upgrade to Release 1.7, update to the latest errata release of Oracle Cloud Native Environment Release 1.6. For information on updating the environment, see Updates and Upgrades for Release 1.6.

Important:

If you have the Gluster module installed, upgrade using the steps shown in Upgrading With the Gluster Module Installed.

Changing the Software Packages Source

This section contains information on setting the location for the software packages for the OS on which you want to upgrade the Oracle Cloud Native Environment software.

Oracle Linux 8

If the OS on the nodes is Oracle Linux 8, update the package source using the information in this section.

If you're using the Oracle Linux yum server for system updates, on each node update the oracle-olcne-release-el8 release package. Enable the ol8_olcne17 repository and disable the repositories for the previous releases. Disable the following repositories:

  • ol8_olcne16
  • ol8_olcne15
  • ol8_olcne14
  • ol8_olcne13
  • ol8_olcne12

On each node, run:

sudo dnf update oracle-olcne-release-el8
sudo dnf config-manager --enable ol8_olcne17
sudo dnf config-manager --disable ol8_olcne16 ol8_olcne15 ol8_olcne14 ol8_olcne13 ol8_olcne12

If the systems are registered to use ULN, use the ULN web interface to subscribe each system to the ol8_x86_64_olcne17 channel. Ensure you unsubscribe each system from the following channels:

  • ol8_x86_64_olcne16
  • ol8_x86_64_olcne15
  • ol8_x86_64_olcne14
  • ol8_x86_64_olcne13
  • ol8_x86_64_olcne12

Upgrading the Operator Node

Upgrade the operator node with the new Oracle Cloud Native Environment software packages.

To upgrade the operator node on Oracle Linux:

  1. On the operator node, stop the olcne-api-server service:

    sudo systemctl stop olcne-api-server.service
  2. Update the Platform CLI, Platform API Server, and utilities packages:

    sudo dnf update olcnectl olcne-api-server olcne-utils
  3. Start the olcne-api-server service:

    sudo systemctl start olcne-api-server.service

Upgrading the Kubernetes Nodes

Upgrade the Kubernetes nodes with the new Oracle Cloud Native Environment software packages.

On the operator node, use the olcnectl environment update command to upgrade the Platform Agent on each node in the environment. This example upgrades the Platform Agent on all nodes in the myenvironment environment.

olcnectl environment update olcne \
--environment-name myenvironment

The Platform Agent is upgraded and the service is restarted on each node.

Upgrading the Kubernetes Cluster

Upgrade the cluster to Kubernetes Release 1.26.10.

On the operator node, use the olcnectl module update command to upgrade to the latest Kubernetes release available for Oracle Cloud Native Environment Release 1.7. This example upgrades a Kubernetes module named mycluster in the myenvironment environment to Kubernetes Release 1.26.10.

olcnectl module update \
--environment-name myenvironment \
--name mycluster \
--kube-version 1.26.10 

The --kube-version option specifies the release to which you want to upgrade. This example uses release number 1.26.10.

Important:

Ensure you upgrade to the latest Kubernetes release. To get the version number of the latest Kubernetes release for Oracle Cloud Native Environment Release 1.7, see Release Notes.

When each node in the cluster is upgraded to the latest Kubernetes release, the cluster's health is validated and the upgrade completes.

Upgrading the Calico Module

If you have the Calico module installed, you must upgrade it.

Important:

Ensure you upgrade to the latest releases for each component in this section. To get the version numbers of the latest releases for Oracle Cloud Native Environment Release 1.7, see Release Notes.

To upgrade Calico, on the operator node, use the olcnectl module update command to upgrade to the latest Calico release available for Oracle Cloud Native Environment Release 1.7. This example upgrades an Calico module named mycalico in the myenvironment environment to Calico Release 3.25.1.

olcnectl module update \
--environment-name myenvironment \
--name mycalico \
--calico-version 3.25.1 

The --calico-version option specifies the release to which you want to upgrade. This example uses release number 3.25.1.

Upgrading the Multus Module

If you have the Multus module installed, you must upgrade it.

Important:

Ensure you upgrade to the latest releases for each component in this section. To get the version numbers of the latest releases for Oracle Cloud Native Environment Release 1.7, see Release Notes.

To upgrade Multus, on the operator node, use the olcnectl module update command to upgrade to the latest Multus release available for Oracle Cloud Native Environment Release 1.7. This example upgrades an Multus module named mymultus in the myenvironment environment to Multus Release 4.0.1.

olcnectl module update \
--environment-name myenvironment \
--name mymultus \
--multus-version 4.0.1 

The --multus-version option specifies the release to which you want to upgrade. This example uses release number 4.0.1.

Upgrading the MetalLB Module

If you have the MetalLB module installed, you must also upgrade it.

To upgrade the MetalLB module, on the operator node, use the olcnectl module update command. This example upgrades the module named mymetallb in the myenvironment environment to the MetalLB module Release 0.13.9

olcnectl module update \
--environment-name myenvironment \
--name mymetallb \
--metallb-version 0.13.9 
The --metallb-version option specifies the release to which you want to upgrade. This example uses release number 0.13.9.

Important:

Ensure you upgrade to the latest release of the MetalLB module. To get the version numbers of the latest releases for Oracle Cloud Native Environment Release 1.7, see Release Notes.

Upgrading the Istio Module

If you have the Istio module installed, you must also upgrade it.

Important:

Ensure you upgrade to the latest releases for each component in this section. To get the version numbers of the latest releases for Oracle Cloud Native Environment Release 1.7, see Release Notes.

To upgrade Istio, on the operator node, use the olcnectl module update command to upgrade to the latest Istio release available for Oracle Cloud Native Environment Release 1.7. This example upgrades an Istio module named myistio in the myenvironment environment to Istio Release 1.17.8.

olcnectl module update \
--environment-name myenvironment \
--name myistio \
--istio-version 1.17.8 

The --istio-version option specifies the release to which you want to upgrade. This example uses release number 1.17.8.

When you upgrade to Istio Release 1.17.8, the update iterates through each Istio release up to Release 1.17.8. When each node in the cluster is upgraded to the next Istio release, the cluster's health is validated. If the cluster is healthy, the cycle of back up, upgrade to the next release, and cluster validation starts again, until all nodes are upgraded to the latest Istio release.

Upgrading With the Gluster Module Installed

If you have the Gluster module installed, you need to perform the upgrade to Oracle Cloud Native Environment Release 1.7 using a different method. This is required as the Gluster module isn't included with Release 1.7, so you can't upgrade it. This section shows you how to upgrade an environment when the Gluster module is installed.

During the upgrade, you need to install the Rook module and set up a Ceph cluster and storage to replace the Gluster storage. When the Ceph storage is set up, you can migrate Kubernetes applications to use Ceph instead of Gluster. After the applications are migrated, you upgrade the Kubernetes module, and any other modules.

To upgrade to Release 1.7 when you have the Gluster module installed:

  1. Change the software package sources using the the steps in Changing the Software Packages Source.
  2. Upgrade the operator node using the steps in Upgrading the Operator Node.
  3. Upgrade the Oracle Cloud Native Environment software on the Kubernetes nodes using the steps in Updating the Kubernetes Nodes.
  4. Install the Rook module and set up Ceph storage using the information in Rook Module.
  5. Migrate the Kubernetes applications to use the Ceph storage. The method to perform the migration from Gluster to Ceph is beyond the scope of this documentation. No single method is available to perform this migration. You must, at least, change any PersistentVolumeClaims to use the new Ceph StorageClasses you created when you set up Ceph.
  6. On the operator node, remove the Gluster module using the olcnectl module uninstall command:
    olcnectl module uninstall \
    --environment-name environment_name \
    --name module_name
  7. Upgrade the Kubernetes module using the steps in Upgrading the Kubernetes Cluster.
  8. Upgrade any other modules you have installed, as outlined in this guide.