Kubernetes 系統中 ETCD 備份還原教學 在 Kubernetes 系統中,ETCD 是一個關鍵的組件,負責存儲系統中的所有配置資料。為了確保在災難發生時可以快速恢復系統狀態,定期備份和還原 ETCD 是至關重要的。以下是一個簡單的教學,介紹了如何在 Kubernetes 系統中進行 ETCD 的備份和還原。 備份 ETCD 1. 使用以下指令查找 ETCD 對外的連接端點: bash kubectl describe pods -n kube-system etcd-controlplane | grep advertise-client-urls 獲取到 Endpoint,例如:https://10.1.218.16:2379。 2. 使用以下指令查找憑證位置: bash kubectl describe pods -n kube-system etcd-controlplane | grep pki 確定憑證位置,例如: - Cert File: /etc/kubernetes/pki/etcd/server.crt - Key File: /etc/kubernetes/pki/etcd/server.key - CA Cert File: /etc/kubernetes/pki/etcd/ca.crt 3. 使用以下指令備份 ETCD 資料庫: bash ETCDCTL_API=3 etcdctl \ --endpoints=https://10.1.220.8:2379 \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --cert=/etc/kubernetes/pki/etcd/server.crt \ --key=/etc/kubernetes/pki/etcd/server.key snapshot save /opt/cluster1.db 還原 ETCD 1. 使用以下指令還原 ETCD 資料庫: bash ETCDCTL_API=3 etcdctl \ --endpoints=https://10.1.220.8:2379 \ --cacert=/etc/etcd/pki/ca.pem \ --cert=/etc/etcd/pki/etcd.pem