kubeadm reset

盡力還原由 kubeadm initkubeadm join 所做的變更。

盡力還原由 'kubeadm init' 或 'kubeadm join' 對此主機所做的變更

摘要

盡力還原由 'kubeadm init' 或 'kubeadm join' 對此主機所做的變更

「reset」指令會執行下列階段

preflight           Run reset pre-flight checks
remove-etcd-member  Remove a local etcd member.
cleanup-node        Run cleanup node.
kubeadm reset [flags]

選項

--cert-dir string     預設值:「/etc/kubernetes/pki」

憑證儲存目錄的路徑。如果指定,則清除此目錄。

--cleanup-tmp-dir

清除「/etc/kubernetes/tmp」目錄

--config string

kubeadm 組態檔案的路徑。

--cri-socket string

要連線的 CRI Socket 路徑。如果為空,kubeadm 將嘗試自動偵測此值;僅當您安裝多個 CRI 或具有非標準 CRI Socket 時才使用此選項。

--dry-run

不套用任何變更;僅輸出將完成的事項。

-f, --force

重設節點,無需提示確認。

-h, --help

reset 的說明

--ignore-preflight-errors strings

將其錯誤顯示為警告的檢查清單。範例:「IsPrivilegedUser,Swap」。值「all」會忽略所有檢查中的錯誤。

--kubeconfig string     預設值:「/etc/kubernetes/admin.conf」

與叢集通訊時要使用的 kubeconfig 檔案。如果未設定此標誌,則可以搜尋一組標準位置以尋找現有的 kubeconfig 檔案。

--skip-phases strings

要跳過的階段清單

從父指令繼承的選項

--rootfs string

「真實」主機根檔案系統的路徑。這會導致 kubeadm chroot 到提供的路徑中。

Reset 工作流程

kubeadm reset 負責從使用 kubeadm initkubeadm join 指令建立的檔案中,清除節點本機檔案系統。對於控制平面節點,reset 也會從 etcd 叢集中移除此節點的本機堆疊 etcd 成員。

kubeadm reset phase 可用於執行上述工作流程的個別階段。若要跳過階段清單,您可以使用 --skip-phases 標誌,其運作方式與 kubeadm joinkubeadm init 階段執行器類似。

外部 etcd 清除

如果使用外部 etcd,kubeadm reset 將不會刪除任何 etcd 資料。這表示如果您再次使用相同的 etcd 端點執行 kubeadm init,您將看到先前叢集的狀態。

若要清除 etcd 資料,建議您使用 etcdctl 等用戶端,例如

etcdctl del "" --prefix

請參閱 etcd 文件 以取得更多資訊。

正常關閉 kube-apiserver

如果您的 kube-apiserver 組態設定了 --shutdown-delay-duration 標誌,您可以執行下列指令來嘗試正常關閉執行的 API 伺服器 Pod,然後再執行 kubeadm reset

yq eval -i '.spec.containers[0].command = []' /etc/kubernetes/manifests/kube-apiserver.yaml
timeout 60 sh -c 'while pgrep kube-apiserver >/dev/null; do sleep 1; done' || true

下一步

上次修改時間:2024 年 8 月 17 日下午 4:50 PST:更新對產生頁面的參考 (3b6f229424)