偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

緊急!誤執(zhí)行kubeadm reset后如何從etcd備份恢復K8s集群?完整避坑指南

云計算 云原生
誤執(zhí)行 kubeadm reset 雖會導致集群癱瘓,但只要具備有效的 etcd 備份并嚴格遵循恢復流程,集群仍可搶救回來。本次恢復過程涉及控制平面重建、證書更新、節(jié)點重加入等多個關鍵環(huán)節(jié),每一步都需嚴謹操作,尤其要注意參數(shù)一致性和時序依賴。

1.背景說明

場景:單Master架構的K8s集群,etcd以單節(jié)點形式運行在集群內(nèi)。因誤操作執(zhí)行kubeadm reset -f導致集群癱瘓,需基于已有的etcd備份恢復。

核心難點:

? 需同時恢復etcd數(shù)據(jù)、重建控制平面、重新加入節(jié)點

? 證書/令牌/配置文件的時序依賴關系復雜

2.前置檢查:etcd 備份有效性驗證

(此步驟建議在事故前定期執(zhí)行,關鍵時刻能救命?。?/p>

#查看備份狀態(tài)及元數(shù)據(jù)
ETCDCTL_API=3 etcdctl --write-out=table snapshot status etcdbackup.db

? 關鍵指標:Hash值、總Key數(shù)量、備份時間戳

3.Master 節(jié)點恢復全流程

1)據(jù)搶救性備份(即使已誤刪!),防止進一步丟失重要信息

#打包殘留數(shù)據(jù)(可能含未被覆蓋的文件)
timestamp=$(date +%Y%m%d%H%M%S)
tar -zcvf /tmp/k8s_rescue_${timestamp}.tar.gz \
  /etc/kubernetes \
  /var/lib/kubelet \
  /var/lib/etcd 2>/dev/null

2)重建Master控制平面

#使用原參數(shù)初始化(務必與歷史參數(shù)一致?。?kubeadm init \
  --pod-network-cidr=<network-cidr> \
  --apiserver-advertise-address=<master-ip> \
  --control-plane-endpoint=<control-plane-endpoint>

?? 避坑點:

?若忘記歷史參數(shù),檢查/etc/kubernetes/manifests/kube-apiserver.yaml殘留

?  初始化后切勿立即加入節(jié)點!

3)Etcd數(shù)據(jù)恢復實操

Step1 停止kube-apiserver等組件
mv /etc/kubernetes/manifests/ /etc/kubernetes/manifests_stop
Step2 還原etcd備份
ETCDCTL_API=3 etcdctl snapshot restore ./etcdbackup.db --skip-hash-check=true
Step3 替換數(shù)據(jù)目錄
rm -rf /var/lib/etcd/member
mv ./default.etcd/member /var/lib/etcd/member
Step4 重啟控制平面
mv /etc/kubernetes/manifests_stop /etc/kubernetes/manifests

4)證書/令牌更新關鍵操作

#強制更新所有證書
kubeadm certs renew all --force
#重啟核心組件Pod
for comp in apiserver controller-manager scheduler; do
  kubectl -n kube-system delete pod -l component=kube-${comp}
done
#需要生成一個新的 bootstrap-token
kubeadm init phase bootstrap-token
#生成新加入令牌(原token已失效)
kubeadm token create --ttl 2h --print-join-command

4.Node 節(jié)點重新接入指南

#所有Node執(zhí)行
systemctl stop kubelet
kubeadm reset -f
rm -rf /var/lib/kubelet/pki/ /etc/kubernetes/pki/ /etc/kubernetes/kubelet.conf
rm -rf $HOME/.kube/config
#使用新token加入
kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<ca-cert-hash>

5.恢復后驗證清單

1)節(jié)點狀態(tài)

kubectl get nodes -o wide

2)核心Pod健康狀態(tài)

kubectl -n kube-system get pod | grep -E 'coredns|kube-proxy|etcd'

3)跨服務通信測試

kubectl run test-nginx --image=nginx
kubectl expose pod test-nginx --port=80
kubectl run test-curl --image=radial/busyboxplus:curl -it --rm -- \
  curl -v http://test-nginx.default.svc.cluster.local

4)檢查集群內(nèi)域名解析

?   檢查pod對service的域名解析,如有問題需要重啟kube-proxy或coredns服務

5)恢復 Kubernetes Dashboard 或其他工具

?     如果使用了如 Kubernetes Dashboard 、kuboard等工具,需要重新安裝或重新配置它們

6.運維建議

1)定期驗證備份有效性

2) 使用etcd災備工具(etcdbrctl)

3)生產(chǎn)環(huán)境至少部署3節(jié)點etcd集群

誤執(zhí)行 kubeadm reset 雖會導致集群癱瘓,但只要具備有效的 etcd 備份并嚴格遵循恢復流程,集群仍可搶救回來。本次恢復過程涉及控制平面重建、證書更新、節(jié)點重加入等多個關鍵環(huán)節(jié),每一步都需嚴謹操作,尤其要注意參數(shù)一致性和時序依賴。事后務必加強備份驗證與災備策略,推薦使用多節(jié)點 etcd 集群以提升容災能力。記?。憾ㄆ隍炞C備份 + 規(guī)范運維流程 = 生產(chǎn)環(huán)境的救命稻草。

責任編輯:武曉燕 來源: 新鈦云服
相關推薦

2025-03-19 08:01:10

Kubernetes集群源碼

2020-12-16 10:00:59

Serverless數(shù)字化云原生

2021-03-24 06:26:00

kubeadmK8Scontainerd

2025-10-31 07:00:00

2022-08-05 08:48:33

KubernetesEtcd數(shù)據(jù)

2025-02-24 00:10:00

2023-09-03 23:58:23

k8s集群容量

2023-03-05 21:50:46

K8s集群容量

2024-04-24 13:45:00

2024-04-03 12:30:00

C++開發(fā)

2021-02-26 00:46:11

CIO數(shù)據(jù)決策數(shù)字化轉型

2018-03-26 11:14:13

程序猿bug代碼

2022-11-24 08:55:02

etcdK8sKubeBrain

2021-09-16 19:22:06

Java概念concurrent

2021-04-22 09:46:35

K8SCluster Aut集群

2024-05-23 13:49:00

Kuberneteetcd集群

2022-09-05 14:45:56

前端K8S

2022-04-22 13:32:01

K8s容器引擎架構

2022-03-04 18:11:16

信服云

2023-05-24 10:06:42

多云實踐避坑
點贊
收藏

51CTO技術棧公眾號