在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称(OpenSource Name):coreos/etcd-operator开源软件地址(OpenSource Url):https://github.com/coreos/etcd-operator开源编程语言(OpenSource Language):Go 94.9%开源软件介绍(OpenSource Introduction):etcd operatorProject status: archivedThis project is no longer actively developed or maintained. The project exists here for historical reference. If you are interested in the future of the project and taking over stewardship, please contact [email protected]. OverviewThe etcd operator manages etcd clusters deployed to Kubernetes and automates tasks related to operating an etcd cluster. There are more spec examples on setting up clusters with different configurations Read Best Practices for more information on how to better use etcd operator. Read RBAC docs for how to setup RBAC rules for etcd operator if RBAC is in place. Read Developer Guide for setting up a development environment if you want to contribute. See the Resources and Labels doc for an overview of the resources created by the etcd-operator. Requirements
DemoGetting startedDeploy etcd operatorSee instructions on how to install/uninstall etcd operator . Create and destroy an etcd cluster$ kubectl create -f example/example-etcd-cluster.yaml A 3 member etcd cluster will be created. $ kubectl get pods
NAME READY STATUS RESTARTS AGE
example-etcd-cluster-gxkmr9ql7z 1/1 Running 0 1m
example-etcd-cluster-m6g62x6mwc 1/1 Running 0 1m
example-etcd-cluster-rqk62l46kw 1/1 Running 0 1m See client service for how to access etcd clusters created by the operator. If you are working with minikube locally, create a nodePort service and test that etcd is responding: $ kubectl create -f example/example-etcd-cluster-nodeport-service.json
$ export ETCDCTL_API=3
$ export ETCDCTL_ENDPOINTS=$(minikube service example-etcd-cluster-client-service --url)
$ etcdctl put foo bar Destroy the etcd cluster: $ kubectl delete -f example/example-etcd-cluster.yaml Resize an etcd clusterCreate an etcd cluster:
In
Apply the size change to the cluster CR:
The etcd cluster will scale to 5 members (5 pods):
Similarly we can decrease the size of the cluster from 5 back to 3 by changing the size field again and reapplying the change.
We should see that etcd cluster will eventually reduce to 3 pods:
FailoverIf the minority of etcd members crash, the etcd operator will automatically recover the failure. Let's walk through this in the following steps. Create an etcd cluster:
Wait until all three members are up. Simulate a member failure by deleting a pod: $ kubectl delete pod example-etcd-cluster-cl2gpqsmsw --now The etcd operator will recover the failure by creating a new pod $ kubectl get pods
NAME READY STATUS RESTARTS AGE
example-etcd-cluster-gxkmr9ql7z 1/1 Running 0 10m
example-etcd-cluster-n4h66wtjrg 1/1 Running 0 26s
example-etcd-cluster-rqk62l46kw 1/1 Running 0 10m Destroy etcd cluster: $ kubectl delete -f example/example-etcd-cluster.yaml etcd operator recoveryLet's walk through operator recovery in the following steps. Create an etcd cluster:
Wait until all three members are up. Then stop the etcd operator and delete one of the etcd pods: $ kubectl delete -f example/deployment.yaml
deployment "etcd-operator" deleted
$ kubectl delete pod example-etcd-cluster-8gttjl679c --now
pod "example-etcd-cluster-8gttjl679c" deleted Next restart the etcd operator. It should recover itself and the etcd clusters it manages. $ kubectl create -f example/deployment.yaml
deployment "etcd-operator" created
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
example-etcd-cluster-m8gk76l4ns 1/1 Running 0 3m
example-etcd-cluster-q6mff85hml 1/1 Running 0 3m
example-etcd-cluster-xnfvm7lg66 1/1 Running 0 11s Upgrade an etcd clusterCreate and have the following yaml file ready:
Create an etcd cluster with the version specified (3.1.10) in the yaml file:
The container image version should be 3.1.10:
Now modify the file
Apply the version change to the cluster CR:
Wait ~30 seconds. The container image version should be updated to v3.2.13:
Check the other two pods and you should see the same result. Backup and Restore an etcd cluster
Follow the etcd backup operator walkthrough to backup an etcd cluster. Follow the etcd restore operator walkthrough to restore an etcd cluster on Kubernetes from backup. Manage etcd clusters in all namespacesSee instructions on clusterwide feature. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论