...
The components of the stack are below :
Step-by-step guide
For smooth deployment we have created 3 scripts. One must edit the script to give the correct cluster details to each script. For eg, kubeconfig file, cluster ips
and also the corrects URLs where EMCO binaries like orchestrator, clm etc are running.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
NODES=($(kubectl get nodes --output=jsonpath={.items..metadata.name})) kubectl label node/${NODES[0]} failure-domain.beta.kubernetes.io/region=us-west1 kubectl label node/${NODES[1]} failure-domain.beta.kubernetes.io/region=us-west1 kubectl label node/${NODES[2]} failure-domain.beta.kubernetes.io/region=us-west1 kubectl label node/${NODES[0]} failure-domain.beta.kubernetes.io/zone=us-west1-a --overwrite=true kubectl label node/${NODES[1]} failure-domain.beta.kubernetes.io/zone=us-west1-b --overwrite=true kubectl label node/${NODES[2]} failure-domain.beta.kubernetes.io/zone=us-west1-c --overwrite=true |
2. Create db namespace and bootstrap m3 db
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
kubectl -n training port-forward svc/m3coordinator-m3db-cluster 7201 curl -vvv -X POST http://localhost:7201/api/v1/database/create -d '{ "type": "cluster", "namespaceName": "collectd", "retentionTime": "168h", "numShards": "64", "replicationFactor": "3", "hosts": [ { "id": "m3db-cluster-rep0-0", "isolationGroup": "us-west1-a", "zone": "embedded", "weight": 100, "address": "m3db-cluster-rep0-0.m3dbnode-m3db-cluster:9000", "port": 9000 }, { "id": "m3db-cluster-rep1-0", "isolationGroup": "us-west1-b", "zone": "embedded", "weight": 100, "address": "m3db-cluster-rep1-0.m3dbnode-m3db-cluster:9000", "port": 9000 }, { "id": "m3db-cluster-rep2-0", "isolationGroup": "us-west1-c", "zone": "embedded", "weight": 100, "address": "m3db-cluster-rep2-0.m3dbnode-m3db-cluster:9000", "port": 9000 } ] }' |
...