Permalink
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 Copy path
Fetching contributors…
Cannot retrieve contributors at this time
97 lines (72 sloc) 3.15 KB

Install Zenko On Google Cloud Kubernetes Engine

Zenko can be installed on a Kubernetes cluster managed on Google Cloud (GKE). Start a new cluster on Kubernetes following the instructions on Google Cloud documentation.

To run Zenko you'll need a cluster with 3 nodes, 2vCPU and 7.5GB RAM each. Once the cluster is running, connect to it and install Helm on it.

Create Role For Tiller

Google Kubernetes Engine requires Role Based Access Control to be setup. The first step is to create a serviceaccount for tiller:

$ kubectl create serviceaccount tiller --namespace kube-system

Check that the correct context is set:

$ kubectl get nodes
NAME                                       STATUS   ROLES    AGE VERSION
gke-cluster-1-default-pool-9ad69bcf-4g2n   Ready    <none>   1m  v1.8.10-gke.0
gke-cluster-1-default-pool-9ad69bcf-frj5   Ready    <none>   1m  v1.8.10-gke.0
gke-cluster-1-default-pool-9ad69bcf-rsbt   Ready    <none>   1m  v1.8.10-gke.0

Install Helm on GKE Cluster

Helm is not available by default on GKE and needs to be installed.

$ curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
$ bash ./get_helm.sh

Once that's completed, start Helm:

$ helm init --service-account tiller --wait

Install Zenko

Clone Zenko's repo and go into the charts directory:

$ git clone https://github.com/scality/Zenko.git
$ cd ./Zenko/charts

Once you have the repo cloned you can 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

With your dependencies built, you can run the following shell command to deploy a three-nodes Zenko stack with Orbit enabled.

$ helm install --name zenko --set ingress.enabled=true zenko

Connect GKE Zenko To Orbit

Find the Instance ID to use for registering your instance:

$ kubectl logs $(kubectl get pods --no-headers=true -o \
custom-columns=:metadata.name | grep cloudserver) | grep \
Instance | tail -n 1

The output will look something like this:

{"name":"S3","time":1529101607249,"req_id":"9089628bad40b9a255fd","level":"info","message":"this deployment's Instance ID is 6075357a-b08d-419e-9af8-cc9f391ca8e2","hostname":"zenko-cloudserver-f74d8c48c-dt6fc","pid":23}