Updating Kubernetes deployments

Online updates for Kubernetes deployments assume that you have direct access to the internet or access to the internet through a proxy server. The upgrade process is as simple as specifying the correct Operator and Turbonomic version in the yaml files.

As Turbonomic evolves, the set of delivered probes change. When you update to a new version, the update does not change the properties of your Turbonomic instance or your probe configuration, as per what is defined in the Custom Resource. An update to a newer version does not automatically enable any new probes in your deployment. If you want to take advantage of new probes in an update, then you must enable them manually.

Note:

Review What's New and Release Notes to see what is new for this release.

If you deployed the Turbonomic server by using the Red Hat OpenShift OperatorHub, see Updating using the OpenShift Operator Hub for details for updating the deployment.

Task overview

  1. Update the Turbonomic Operator.

  2. Update the Custom Resource file.

  3. Update Kubeturbo.

Deployment requirements

Review the "Turbonomic Updates and Operator Version" section of the Configuration Requirements topic to determine which Operator and Turbonomic version is required for your update.

Updating the Turbonomic operator

Turbonomic is deployed and managed through an Operator (t8c-operator). Since the Operator contains definitions of component configurations, updates to the Turbonomic server may require that you update the Operator first.

  1. In an SSH session, open the t8c-operator deployment resource.

    kubectl edit Xl t8c-operator
  2. Update the Operator image parameter. The Operator version must match the Turbonomic version.

          containers:
          - name: t8c-operator
            pullPolicy: Always
            image: icr.io/cpopen/t8c-operator:<version>
    Note:

    The default image pull policy is set to Always.

  3. Save and apply the yaml file.

Updating the custom resource file

Upgrade the Turbonomic server by modifying the custom resource that defines your Turbonomic server configurations.

  1. If using a private registry, stage the images.

  2. In an SSH session, open the custom resource file (cr.yaml) for editing.

    vi /opt/turbonomic/kubernetes/operator/deploy/crds/charts_v1alpha1_xl_cr.yaml
  3. Update the tag under the global values to use the current version.

      global:
        registry: icr.io/cpopen
        repository: icr.io/cpopen/turbonomic
        pullPolicy: Always
        tag: 8.15.0
    Note:

    If you want to use an Operator version earlier than 42.22, you must also set the customImageNames: false for the Turbonomic deployment, otherwise most images are not retrieved.

      global:
        registry: icr.io/cpopen
        repository: icr.io/cpopen/turbonomic
        customImageNames:false
  4. Save the yaml file.

    Note:

    Do not use kubectl to apply these changes now.

  5. Verify that the Turbonomic application installed correctly.

    kubectl get pods -n turbonomic 

    After all pods start, the READY column shows 1/1, 2/2, and so on. The STATUS column for each pod shows Running.

    Note:

    Under rare circumstances the downloads from Docker Hub can fail. This occurs when the limit on image downloads has been exceeded. As a result, one or more pods can show ImagePullBackOff as the pod STATUS. Note that this does not occur when using the IBM Container Registry as it does not have download limits.

    If you encounter this STATUS, you can wait until the limitation period expires. At that time, the download of pods will continue, and the platform should start up normally.

  6. Clear your browser data and refresh your browser.

    After clearing the browser data and refreshing your browser, you have full access to Turbonomic features. However, features that rely on current analysis data will not be available until after a full market cycle — usually 10 minutes. For example, the Pending Actions charts will not show any actions until after a full market cycle.

  7. Notify other users to clear their browser data and refresh their Turbonomic browser sessions.

Updating Kubeturbo

After you update the Turbonomic platform, you should also update the Kubeturbo remote probes to stay aligned with the same version.

The method that you use to update Kubeturbo depends on the deployment method. For more information, see Updating Kubeturbo.