CloudNatix logo

User Guide

Updating CloudNatix Cluster Controller

CloudNatix Cluster Controller consists of multiple pods. CCOperator is a Kubernetes operator pod that is created initially. The CCOperator pod then creates other pods, each of which is responsible for specific functionality of Cluster Controller.

Updating CCOperator

To update CCOperator, you can take one of the following approaches:

  • Download the latest CLI, rerun cnatix clusters configure, and generate a new K8s YAML or a Helm chart. Then either apply or YAML, or adjust the Helm command to upgrade and run the provided commands.
  • Pull the latest Helm chart of CCOperator from https://charts.cloudnatix.com.

Here is an example command to pull the chart.

helm repo add cloudnatix https://charts.cloudnatix.com
helm repo update
helm pull cloudnatix/ccoperator

Updating other Cluster Controller Components

Cluster Controller components other than CCOperator can be updated via the cnatix CLI or they can be auto-upgraded.

You can see a list of Cluster Controller components that are installed to a cluster with the following command:

cnatix clusters components --cluster <cluster name>

To update component versions, you can use the cnatix CLI or specify the versions in the Helm chart.

cnatix clusters components update spec is the CLI command for updating a component to a specific version.

cnatix clusters components update spec \
  --cluster <cluster name> \
  --kind <component name> \
  --version <version> \
  (--upgradable)

Set --upgradable if you want to enable the auto-update of the specified component.

componentSpecs in the values file can be used to specify component versions in the Helm chart. Here is an example:

ccOperatorVersion: 0.241.0
autoUpgrade: false
componentSpecs:
  authtokenrefresher:
    version: 0.23.0
    upgradable: false
  cluster-watcher:
    version: 0.223.0
    upgradable: false
  clusteragent:
    version: 0.156.0
    upgradable: true
  connect-agent:
    version: 0.159.0
    upgradable: true
  kube-prometheus-stack:
    version: 37.2.0
    upgradable: true
  vpa:
    version: 0.14.0
    upgradable: true

This is supported by the ccoperator Helm chart v0.466.0 or later. ccOperatorVersion needs to be 0.241.0 or later. autoUpgrade needs to be set to false.

Please do not update component versions with cnatix clusters components update spec if you manage the components version via the Helm chart values file.

if you manage the components version via the Helm chart values file.

Distributions and Channels

CloudNatix uses "distributions" and "channels" to manage software releases.

Distributions are of the form YY.R where YY is the year (i.e. 20 for 2020, etc.) and R is the one-indexed release number (1, 2, etc.). CloudNatix releases a new distribution when a major change is released. Such a major change might be backward incompatible or might require human intervention for update.

In a single distribution, component versions are tied to "channels". Channels provide the means of grouping component versions into well defined swim lanes that reflect the component version’s stability.

Currently CloudNatix maintains the following three channels:

  • testing: All component versions start in this channel once released and immediately undergo automated testing and QA.
  • rapid: Component version that has passed all testing and QA, but might have issues that need to be identified via more extensive integration testing and live trials in customer environments.
  • stable: Component version that has passed all testing, extensive integration testing and live trials in customer environments.
Previous
Cluster Controller Components
Next
Seeing metrics from Datadog