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.
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
upgradeand run the provided commands.
- Pull the latest Helm chart of CCOperator from
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 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:
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
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 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.