Kubernetes etcd 備份補充

因應筆記68最後備份及還原有bug,升級Cluster後再做一遍(bug!)

ZONGRU Li
Dec 12, 2021

參考到之前68篇用備份的etcd備份檔還原後

發現etcdpod裡面log如下卡住:

參考網路上有些狀況可能是1.21版對應的etcd版本本身問題

現在升級到1.22後參考release note,etcd版本也有提升

所以再做一遍

首先目前現有的K8s元件Resources確認如下:

以下備份指令(配合K8s目前已升版到1.22,備份檔名稱多帶122):

sudo ETCDCTL_API=3 etcdctl snapshot save /tmp/etcd-backup-122.db  \--cacert /etc/kubernetes/pki/etcd/ca.crt  \--cert /etc/kubernetes/pki/etcd/server.crt \--key /etc/kubernetes/pki/etcd/server.key
很好,至少沒有被desh卡住了!!(詳66篇我當時備份卡住!)

接著確認備份檔狀態指令執行:

sudo ETCDCTL_API=3 etcdctl snapshot status /tmp/etcd-backup-122.db --write-out=table

接著還原備份檔為實際etcd可以吃的目錄檔案,執行以下:

sudo ETCDCTL_API=3 etcdctl snapshot restore /tmp/etcd-backup-122.db --data-dir /var/lib/etcd122backup

所以在改為忽略hash檢核:

sudo ETCDCTL_API=3 etcdctl snapshot restore /tmp/etcd-backup-122.db --data-dir /var/lib/etcd122backup --skip-hash-check=true

確認:

接著就是告訴當前的etcd去參考到上面建好的新的備份檔目錄:

看來還是有問題...而且又是新的問題...冏!

可以估計是etcd-pod起不來了...

最後還是還原:

指到原本的etcd目錄

過一陣子確定指令可以正常執行:

不過這次就拿不到etcd pod裡面的log

因為整個指令在指向備份的etcd備份檔案目錄後都掛了

kubectl指令發動會指向到master本身的API-Server

但是過程API-Server會參考到etcd,這過程就如上看到

似乎連API-Server都連不到了的樣子...(看起來牽連到API-Server也掛了)

待解! 也許哪天我又升到1.23有空再來試試看

看起來我也不孤單:

我跟二樓一樣,做skip,但是轉過去備份的目錄後,連API Server都掛了…

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet