@@ -5,7 +5,7 @@ etcd cluster application
55
66 1 . Start AppController Pod. Suppose its name is k8s-appcontroller
77 2 . Upload etcd graph definition resources to k8s by running create.sh.
8- This script uploads two AppController flows: ` etcd-bootstrap ` and ` etcd-scale ` .
8+ This script uploads three AppController flows: ` etcd-bootstrap ` , ` etcd-scale ` and ` etcd-recover ` .
99 3 . This application uses custom etcd docker image which is the original etcd image plus kubectl binary.
1010 Use build-image.sh script to build the image ` etcd-kubectl ` and then publish it to the docker repository
1111 used by your k8s environment.
@@ -19,6 +19,8 @@ etcd cluster application
1919` --arg clusterName=my-cluster ` - cluster name. This allows to deploy several independent cluster in one k8s namespace.
2020If omitted, ` etcd ` name is used by default.
2121
22+ ` --arg livenessProbeInterval=30 ` - how often monitoring job examines cluster health (in seconds, default is 30).
23+
22243 . Scale the cluster:
2325
2426` kubectl exec k8s-appcontroller kubeac run etcd-scale -n +1 --arg clusterName=my-cluster `
@@ -28,3 +30,14 @@ added node is going to be deleted. At the moment it is only possible to scale cl
2830However, any number of nodes can be removed. Note, that this can also remove nodes created upon initial deployment.
2931
3032` --arg clusterName=my-cluster ` - name of the cluster to scale (` etcd ` if not specified).
33+
34+ 4 . Recover broken cluster nodes
35+
36+ ` kubectl exec k8s-appcontroller kubeac run etcd-recover --arg clusterName=my-cluster --arg nodeSuffix=abcde `
37+
38+ ` --arg clusterName=my-cluster ` - name of the cluster to scale (` etcd ` if not specified).
39+
40+ ` --arg nodeSuffix=abcde ` - name suffix of the broken node (XXX in http://etcd-XXX:2379 )
41+
42+ However, there is no need to invoke this flow manually as the bootstrap flow creates a job that checks and
43+ recovers broken nodes on the regular basis
0 commit comments