Skip to content

HA for etcd #52

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 4, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Changelog

## In Development
* Replace single-node `etcd` coordination backend with 3-node etcd HA cluster, deployed as a Helm dependency (#52)

## v0.9.0
* Add new Helm value setting `st2.apikeys` to allow importing predefined ST2 API keys (#36)
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -144,9 +144,9 @@ For more advanced RabbitMQ configuration, please refer to official [rabbitmq-ha]
Helm chart repository, - all settings could be overridden via `values.yaml`.

### [etcd](https://docs.stackstorm.com/latest/reference/ha.html#zookeeper-redis)
StackStorm employs etcd as a distributed coordination backend, required for StackStorm cluster components to work properly in HA scenario.
Currently, due to low demands, only `1` instance of etcd is created via K8s Deployment.
Future plans to switch to official Helm chart and configure etcd/Raft cluster properly with `3` nodes by default (TODO).
StackStorm employs etcd as a distributed coordination backend, required for st2 cluster components to work properly in HA scenario.
`3` node Raft cluster is deployed via external official Helm chart dependency [etcd](https://github.com/helm/charts/tree/master/incubator/etcd).
As any other Helm dependency, it's possible to further configure it for specific scaling needs via `values.yaml`.

### Docker registry
If you do not already have an appropriate docker registry for storing custom st2 packs images, we made it
Expand Down
3 changes: 3 additions & 0 deletions requirements.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,6 @@ dependencies:
version: 1.0.2
repository: https://kubernetes-charts.storage.googleapis.com/
condition: external-dns.enabled
- name: etcd
version: 0.6.2
repository: https://kubernetes-charts-incubator.storage.googleapis.com/
104 changes: 0 additions & 104 deletions templates/etcd.yaml

This file was deleted.

9 changes: 9 additions & 0 deletions values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -376,6 +376,15 @@ rabbitmq-ha:
persistentVolume:
enabled: true

##
## Etcd HA configuration (3rd party chart dependency)
##
## For values.yaml reference:
## https://github.com/helm/charts/blob/master/incubator/etcd/values.yaml
##
etcd:
resources: {}

##
## Docker registry configuration (3rd party chart dependency)
##
Expand Down