Switch branches/tags
Clueso-Demo DOC/addAntoraSupport DOC/changelog DOC/moveOrbitEnable FT/addWasabiSupport FT/aggregated_doc ZENKO-125-testing add-ci-mocks bennett/tmp/improvement/doc bugfix/EVE-1008-flaky-docker-builds bugfix/ZENKO-653-offline-tests bugfix/ZENKO-697-invalid-non-version-CRR bugfix/ZENKO-860-runE2E bugfix/ZENKO-915/one-to-many-flakiness bugfix/ZENKO-968-exposeNoProxyInCloudserverChart bugfix/ZENKO-1004-flaky-1toM-e2e-tests bugfix/ZENKO-1004/write-MD5-mismatch-file-contents bugfix/ZENKO-1013/useBackbeatApiMetrics bugfix/ZENKO-1022-enable-test bugfix/ZENKO-1168-initialDelayForLivenessProbes bugfix/ZENKO-1312-reduceNumberOfBackbeatProcessorPods bugfix/ZENKO-1328-Fix-nightly-cosbench bugfix/ZENKO-1375-update-nightly-target-branches bugfix/test-verbose demo/manual-deploy development/0.9 development/1.0 development/1.1 doc/ZENKO-655 doc/ZENKO-870 doc/ZENKO-921 doc/ZENKO-927 doc/ZENKO-1057 docker-image feature/S3C-1171-listv2-e2e feature/ZENKO-472-integrateCosbench feature/ZENKO-558/Ref_Guide_initial_merge feature/ZENKO-704/crr-object-monitor feature/ZENKO-776-debugging-tests feature/ZENKO-776-functional-test-stage feature/ZENKO-799-locquota-tests feature/ZENKO-860-runZenkoTests feature/ZENKO-1217-using-doc feature/ZENKO-1329-Nightly-s3-fuzzer feature/ZENKO-1358-add-cosmos-operator feature/ZENKO-1361-Add-Azure-mock feature/cosmos-chart feature/update-docker-stack-images fix-kubernetes-link fix/deployment ft/ZENKO-458-utapi-helm-chart ft/ZENKO-475 ft/ZENKO-913 ft/clueso-cleanup ft/clueso-meld ft/e2e-pause-resume-tests ft/k8s-helm-grafana ft/k8s-helm-test ft/kub-poc ft/mdmongo ft/swarm-to-kube-port ft/test_framework ft/useMongo3.6 gh-pages improvement/ZENKO-694-zenko-nfs-readme improvement/ZENKO-882/add-JS-and-MD-linting improvement/ZENKO-998-ci-upgrades improvement/ZENKO-1002-remove-mk8s-instructions improvement/backbeat-healthchecks improvement/doc-ZENKO-655 improvement/doc-ZENKO-1057 improvement/doc-ZENKO-1177 improvement/doc-ZENKO-1206 improvement/doc-ZENKO-1224 improvement/doc-ZENKO-1293-add-logos improvement/doc-ZENKO-1299-remove-css-junk improvement/doc-ZENKO-1301-fix-RST improvement/test-new-mongo-chart improvement/updateCloudserverImageTag lhs/clueso-cleanup lhs/clueso-meld lhs/clueso master q/1.0 q/1.1 reconcile-docs rf/ZENKO-388-common-backbeat temp/demo-2 test/breaking-changes test/cloudserver-replicas test/crrmetric test/crrmetrics test/ingestion-changes testing-branch-flakiness update-doc w/1.1/bugfix/ZENKO-1168-initialDelayForLivenessProbes
Nothing to show
Find file History
Pull request Compare This branch is 361 commits behind development/1.1.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
backbeat feat: update backbeat image tag to 8.0.6-RC3 Jul 23, 2018


Zenko Helm Chart

This is a Helm Chart for Scality's Zenko multi-cloud controller. To get started, you'll need a Kubernetes cluster, initialized with Helm. Check out minikube for a local or single-machine deployment.

First, retrieve all dependencies:

$ helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator
"incubator" has been added to your repositories

$ helm dependency build zenko/
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "incubator" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 8 charts
Downloading prometheus from repo https://kubernetes-charts.storage.googleapis.com/
Downloading mongodb-replicaset from repo https://kubernetes-charts.storage.googleapis.com/
Downloading redis from repo https://kubernetes-charts.storage.googleapis.com/
Downloading kafka from repo http://storage.googleapis.com/kubernetes-charts-incubator
Downloading zookeeper from repo http://storage.googleapis.com/kubernetes-charts-incubator
Deleting outdated charts

Note: In released versions of Zenko and the Chart, these upstream charts are embedded in the package created by helm package.

Then, assuming you have an ingress controller running, run something like:

$ helm install --name zenko --set ingress.enabled=true \
--set ingress.hosts[0]=zenko.local \
--set cloudserver.endpoint=zenko.local zenko

You can disable integration with the Orbit management UI (enabled by default).

See values.yml for more options.

To disable Orbit, use:

--set cloudserver.orbit.enabled=false

If a custom Orbit endpoint is required, use:

--set cloudserver.orbit.endpoint=https://custom.orbit.endpoint
--set cloudserver.orbit.pushEndpoint=https://custom.push.orbit.endpoint

and if poll mode is needed, use:

--set cloudserver.orbit.mode=poll

Note: poll mode should only be used when long-lived websocket connections are not available. In poll mode:

  • orbit.pushEndpoint setting will be ignored
  • Interactive features such as Multicloud Browser, Metadata Search, CRR object status and CRR object retry will not be available
  • Configuration updates may take up to a minute to propagate
  • Statistics reports are sent less frequently


This chart can be configured to deploy a HorizontalPodAutoscaler for cloudserver. This is disabled by default.

To set up autoscaling based on CPU consumption, configure the amount of CPU a single cloudserver Pod requests. For example, to request one CPU to be allocated:

--set cloudserver.resources.requests.cpu=1

Next, enable autoscaling using:

--set cloudserver.autoscaling.enabled=true

This scales up (and down) between 1 and 16 replicas, with 80% CPU consumption as the per-Pod target.

These defaults can be modified using:

--set cloudserver.autoscaling.config.minReplicas=...
--set cloudserver.autoscaling.config.maxReplicas==...
--set cloudserver.autoscaling.config.targetCPUUtilizationPercentage=...

Prometheus Monitoring

Prometheus is deployed as part of this stack. To access its built-in web UI, create an Ingress object. To do so automatically, use something like

--set prometheus.server.ingress.enabled=true --set prometheus.server.ingress.hosts[0]=prometheus.local

Validating Your Deployment

A test suite is shipped with the Zenko Chart to help you run validation tests on your deployment. Invoke this suite by running:

$ helm test $RELEASE_NAME --cleanup

where $RELEASE_NAME is replaced by the name you picked for the Helm release; zenko in the example above.

Upgrading Your Deployment

To upgrade an existing Zenko installation to the latest version or simply change deployment configuration, you will need to run the following commands. This assumes that your release name is zenko and that you have previously cloned the repository.

$ cd Zenko/charts
$ git pull
$ helm dependency build ./zenko
$ helm upgrade zenko ./zenko

You may want to run an upgrade simulation, something highly recommended in production environments. For example:

$ helm upgrade zenko ./zenko --dry-run --debug

Note: In a production environment you may want to take neccessary additional steps to validate the upgrade before proceeding with the upgrade. Running the upgrade with the --dry-run flag will simulate and try to validate a compatible upgrade. Running with the --debug will output all the templated values and deployment configurations that will be installed. These are just basic validations but upgrade implications should be fully taken into account by you and/or your Kubernetes administrator.