etcd mysql集群_Etcd单节点扩容为三节点集群
Etcd單節(jié)點擴容為三節(jié)點集群
參考文檔
http://www.cnblogs.com/breg/p/5728237.html
開始環(huán)境是單節(jié)點,存儲數(shù)據(jù)一段時間后發(fā)現(xiàn)需要集群高可用環(huán)境,幸虧etcd支持在線擴容
1,修改單節(jié)點配置并重啟etcd
[root@k8s-master etcd]# cat /etc/etcd/etcd.conf
ETCD_NAME=k8s1
ETCD_DATA_DIR="/data/etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_LISTEN_PEER_URLS="http://172.17.3.20:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.17.3.20:2380"
ETCD_INITIAL_CLUSTER="k8s1=http://172.17.3.20:2380"
備注后三行是新增,后重啟etcd
2,注冊新節(jié)點
注冊新節(jié)點
[root@k8s-master etcd]# curl http://127.0.0.1:2379/v2/members -XPOST -H "Content-Type: application/json" -d '{"peerURLs": ["http://172.17.3.7:2380"]}'
{"id":"dd224433fd05e450","name":"","peerURLs":["http://172.17.3.7:2380"],"clientURLs":[]}
注意只注冊未啟動新節(jié)點時集群狀態(tài)是不健康的
[root@k8s-master etcd]# ?curl ?http://172.17.3.20:2379/v2/members
{"members":[{"id":"869f0c691c5458a3","name":"k8s1","peerURLs":["http://172.17.3.20:2380"],"clientURLs":["http://0.0.0.0:2379"]},
{"id":"dd224433fd05e450","name":"","peerURLs":["http://172.17.3.7:2380"],"clientURLs":[]}]}
[root@k8s-master etcd]# etcdctl cluster-health
member 869f0c691c5458a3 is unhealthy: got unhealthy result from http://0.0.0.0:2379
member dd224433fd05e450 is unreachable: no available published client urls
cluster is unhealthy
3,啟動新節(jié)點
[root@k8s-node1 data]# cat /etc/etcd/etcd.conf
ETCD_NAME=k8s2
ETCD_DATA_DIR="/data/etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_LISTEN_PEER_URLS="http://172.17.3.7:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.17.3.7:2380"
ETCD_INITIAL_CLUSTER="k8s1=http://172.17.3.20:2380,k8s2=http://172.17.3.7:2380"
ETCD_INITIAL_CLUSTER_STATE="existing"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
這是新節(jié)點配置,后啟動新節(jié)點
4,檢測新節(jié)點
[root@k8s-master etcd]# etcdctl cluster-health
member 869f0c691c5458a3 is healthy: got healthy result from http://0.0.0.0:2379
member dd224433fd05e450 is healthy: got healthy result from http://0.0.0.0:2379
cluster is healthy
5,重復上面操作添加新節(jié)點
添加第二個新節(jié)點后效果
[root@k8s-master etcd]# curl ?http://172.17.3.20:2379/v2/members
{"members":[{"id":"29e27bbd848a2e50","name":"k8s3","peerURLs":["http://172.17.3.8:2380"],"clientURLs":["http://0.0.0.0:2379"]},
{"id":"869f0c691c5458a3","name":"k8s1","peerURLs":["http://172.17.3.20:2380"],"clientURLs":["http://0.0.0.0:2379"]},{"id":"dd224433fd05e450","name":"k8s2","peerURLs":
["http://172.17.3.7:2380"],"clientURLs":["http://0.0.0.0:2379"]}]}
[root@k8s-master etcd]# etcdctl cluster-health
member 29e27bbd848a2e50 is healthy: got healthy result from http://0.0.0.0:2379
member 869f0c691c5458a3 is healthy: got healthy result from http://0.0.0.0:2379
member dd224433fd05e450 is healthy: got healthy result from http://0.0.0.0:2379
cluster is healthy
6,最后修改所有節(jié)點配置為一致
[root@k8s-master etcd]# cat /etc/etcd/etcd.conf
ETCD_NAME=k8s1
ETCD_DATA_DIR="/data/etcd"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_ADVERTISE_CLIENT_URLS="http://0.0.0.0:2379"
ETCD_LISTEN_PEER_URLS="http://172.17.3.20:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.17.3.20:2380"
ETCD_INITIAL_CLUSTER="k8s1=http://172.17.3.20:2380,k8s2=http://172.17.3.7:2380,k8s3=http://172.17.3.8:2380"
ETCD_INITIAL_CLUSTER_STATE="existing"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"
7,更新訪問etcd集群參數(shù)kube-apiserver與flanneld
KUBE_ETCD_SERVERS="--etcd-servers=http://172.17.3.20:2379,http://172.17.3.7:2379,http://172.17.3.8:2379"
8,集群配置文件備份腳本
[root@k8s-master etcd_backup]# cat /data/scripts/backupetcd.sh
#!/bin/bash
date_time=`date +%Y%m%d`
etcdctl backup --data-dir /data/etcd/ --backup-dir /data/etcd_backup/${date_time}
find /data/etcd_backup/ -ctime +7 -exec rm -r {} \;
9,故障排查
注意各節(jié)點時鐘相差過大導致集群建立不起來,所以需要先做時鐘同步,默認1s內時差才能成功
注意如果其中有etcd節(jié)點啟動不起來,可以etcdctl rember delete 后重新添加,刪除時清空/data/etcd數(shù)據(jù),注意至少要有一份數(shù)據(jù)保存,這樣才能同步到其他節(jié)點
總結
以上是生活随笔為你收集整理的etcd mysql集群_Etcd单节点扩容为三节点集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL出现慢日志超过2秒_MySQL
- 下一篇: mysql 特殊字符支持_mysql 解