containerd
etcd 备份还原
还原
每台的master节点 IP 和主机名需要修改
停止集群
mv /etc/kubernetes/manifests.bak
备份原有etcd数据
mv /u01/local/kube-system/etcd /u01/local/kube-system/etcd-date '+%Y%m%d-%H:%M:%S'
还原第一台master
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| nerdctl -n k8s.io run --rm \ -v '/tmp\:/tmp' \ -v '/u01/local/kube-system:/u01/local/kube-system' \ -v '/etc/kubernetes/pki/etcd:/etc/kubernetes/pki/etcd' \ --env ETCDCTL\_API=3 \ 'docker.kedacom.com:15000/etcd:3.5.0-0' \ /bin/sh -c "etcdctl snapshot restore \ /tmp/etcd-snapshot-.db \ --name node-9xct \ --endpoints=10.165.124.13:2379 \ --cert=/etc/kubernetes/pki/etcd/server.crt \ --key=/etc/kubernetes/pki/etcd/server.key \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --initial-advertise-peer-urls=<https://10.165.124.13:2380> \ --initial-cluster=node-9xct=<https://10.165.124.13:2380,node-dfkb=https://10.165.124.14:2380,node-24ge=https://10.165.124.15:2380> \ --data-dir=/u01/local/kube-system/etcd \ --skip-hash-check=true"
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| nerdctl -n k8s.io run --rm \ -v '/tmp\:/tmp' \ -v '/u01/local/kube-system:/u01/local/kube-system' \ -v '/etc/kubernetes/pki/etcd:/etc/kubernetes/pki/etcd' \ --env ETCDCTL\_API=3 \ 'docker.kedacom.com:15000/etcd:3.5.0-0' \ /bin/sh -c "etcdctl snapshot restore \ /tmp/etcd-snapshot-.db \ --name node-dfkb \ --endpoints=10.165.124.14:2379 \ --cert=/etc/kubernetes/pki/etcd/server.crt \ --key=/etc/kubernetes/pki/etcd/server.key \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --initial-advertise-peer-urls=<https://10.165.124.14:2380> \ --initial-cluster=node-9xct=<https://10.165.124.13:2380,node-dfkb=https://10.165.124.14:2380,node-24ge=https://10.165.124.15:2380> \ --data-dir=/u01/local/kube-system/etcd \ --skip-hash-check=true"
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| nerdctl -n k8s.io run --rm \ -v '/tmp\:/tmp' \ -v '/u01/local/kube-system:/u01/local/kube-system' \ -v '/etc/kubernetes/pki/etcd:/etc/kubernetes/pki/etcd' \ --env ETCDCTL\_API=3 \ 'docker.kedacom.com:15000/etcd:3.5.0-0' \ /bin/sh -c "etcdctl snapshot restore \ /tmp/etcd-snapshot-.db \ --name node-24ge \ --endpoints=10.165.124.15:2379 \ --cert=/etc/kubernetes/pki/etcd/server.crt \ --key=/etc/kubernetes/pki/etcd/server.key \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --initial-advertise-peer-urls=<https://10.165.124.15:2380> \ --initial-cluster=node-9xct=<https://10.165.124.13:2380,node-dfkb=https://10.165.124.14:2380,node-24ge=https://10.165.124.15:2380> \ --data-dir=/u01/local/kube-system/etcd \ --skip-hash-check=true"
|
恢复集群
1
| mv /etc/kubernetes/manifests.bak /etc/kubernetes/manifests
|
备份
1 2 3 4 5 6 7 8 9 10 11
| nerdctl -n k8s.io run --rm \ \-v '/tmp\:/tmp' \ \-v '/etc/kubernetes/pki/etcd:/etc/kubernetes/pki/etcd' \ \--env ETCDCTL\_API=3 \ 'docker.kedacom.com:15000/etcd:3.5.0-0' \ /bin/sh -c "etcdctl snapshot save \ /tmp/etcd-snapshot-134.db \ \--endpoints=10.165.24.181:2379 \ \--cert=/etc/kubernetes/pki/etcd/server.crt \ \--key=/etc/kubernetes/pki/etcd/server.key \ \--cacert=/etc/kubernetes/pki/etcd/ca.crt"
|
docker
备份
1
| docker run --rm -e ETCDCTL\_API=3 -v /etc/kubernetes/pki/etcd:/etc/kubernetes/pki/etcd -v /data/etcd\_backup\:/data/etcd\_backup registry.cn-hangzhou.aliyuncs.com/google\_containers/etcd:3.4.13-0 sh -c "etcdctl --endpoints=<https://11.1.100.194:2379> --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/healthcheck-client.crt --key=/etc/kubernetes/pki/etcd/healthcheck-client.key snapshot save /data/etcd\_backup/etcd-snapshot-\$(date +%Y-%m-%d\_%H:%M:%S\_%Z).db"
|
还原
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| docker run --rm \ -v '/tmp:/tmp' \ -v '/var/lib:/var/lib' \ -v '/etc/kubernetes/pki/etcd:/etc/kubernetes/pki/etcd' \ --env ETCDCTL_API=3 \ 'k8s.gcr.io/etcd:3.2.24' \ /bin/sh -c "etcdctl snapshot restore \ /tmp/etcd-snapshot-2021-01-05_00:01:03_UTC.db \ --name k8s-59.1.100.217 \ --endpoints=59.1.100.217:2379 \ --cert=/etc/kubernetes/pki/etcd/server.crt \ --key=/etc/kubernetes/pki/etcd/server.key \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --initial-advertise-peer-urls=https://59.1.100.217:2380 \ --initial-cluster=k8s-59.1.100.217=https://59.1.100.217:2380,k8s-59.1.100.218=https://59.1.100.218:2380,k8s-59.1.100.220=https://59.1.100.220:2380 \ --data-dir=/var/lib/etcd \ --skip-hash-check=true"
|