kubeadm安装默认只有一个etcd实例,存在单点故障的风险。提升Kubernetes集群可用性的方法包括:

        1、备份(Kubernetes探秘—etcd状态数据及其备份 );

        2、etcd节点和实例扩容;

        3、apiserver的多节点服务和负载均衡。这里主要实验etcd节点和实例的扩容。

部署完后,发现etcd只有一个实例,想要扩成集群的方式

# kubectl  get po -n kube-system                              
NAME                                        READY   STATUS    RESTARTS      AGE
coredns-6d8c4cb4d-7lswb                     1/1     Running   0             17h
coredns-6d8c4cb4d-84z48                     1/1     Running   0             17h
etcd-host-10-1-1-2                          1/1     Running   3             17h
...

在所有操作之前,备份是个好习惯,以防在操作过程中的失误,可以及时还原回来。

etcd的数据备份

创建snapshot快照,并将快照保存到指定的地方,自己以后能找到就行。

假定证书存放在主机上的位置为:

ca证书:/opt/KUIN00601/ca.crt

客户端证书:/opt/KUIN00601/etcd-client.crt

客户端密钥:/opt/KUIN00601/etcd-client.key

ETCDCTL_API=3 etcdctl --endpoints=https://10.1.1.2:2379 \
--cerf-flile=/opt/KUIN00601/etcd-client.crt \
--key-file=/opt/KUIN00601/etcd-client.key \
--ca-file=/opt/KUIN00601/ca.crt  \
snapshot save /var/data/etcd-snapshot-previous.db

对快照进行恢复

ETCDCTL_API=3 etcdctl --endpoint=https://10.1.1.2:2379 \
--cert-file=/opt/KUIN00601/etcd-client.crt \
--key-file=/opt/KUIN00601/etcd-client.key \
--ca-file=/opt/KUIN00601/ca.crt \
snapshot restore  /var/data/etcd-snapshot-previous.db

未完,待续。。。。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐