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.
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
-
Update the Turbonomic Operator.
-
Update the Custom Resource file.
-
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.
-
In an SSH session, open the
t8c-operator
deployment resource.kubectl edit Xl t8c-operator
-
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
. -
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.
-
If using a private registry, stage the images.
-
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
-
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
-
Save the yaml file.
Note:Do not use
kubectl
to apply these changes now. -
Verify that the Turbonomic application installed correctly.
kubectl get pods -n turbonomic
After all pods start, the
READY
column shows1/1
,2/2
, and so on. TheSTATUS
column for each pod showsRunning
.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.
-
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.
-
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.