k8s etcd备份与恢复

  1. 停止api-server(k8s的所有master节点)
    # 所有master节点执行:
    # 停api-server
    
    mkdir -p tpm_api_conf
    mv  /etc/kubernetes/manifests/kube-apiserver.yaml /root/tpm_api_conf/
    
  2. etcd备份(集群中某一节点)
    # etcd备份
    
    ETCDCTL_API=3;/usr/local/bin/etcdctl --endpoints='https://192.168.1.30:2379' --cacert="/etc/ssl/etcd/ssl/ca.pem" --cert="/etc/ssl/etcd/ssl/admin-ks-master01.pem" --key="/etc/ssl/etcd/ssl/admin-ks-master01-key.pem" snapshot save  snapshot_20230928.db 
    
  3. 查看备份数据状态
    # 查看备份数据状态
    
    ETCDCTL_API=3;/usr/local/bin/etcdctl --write-out=table snapshot status snapshot_20230928.db
    
  4. 停止etcd服务并备份数据目录(etcd所有节点)
    # 停etcd:
    
    systemctl stop etcd
    mv /var/lib/etcd/ /root/etcd_bak
    
  5. 各个etcd节点恢复数据
    # 节点30:
    
    ETCDCTL_API=3;/usr/local/bin/etcdctl snapshot restore /root/snapshot_20230928.db \
     --name etcd-ks-master01  \
     --cert="/etc/ssl/etcd/ssl/admin-ks-master01.pem" \
     --key="/etc/ssl/etcd/ssl/admin-ks-master01-key.pem"  \
     --cacert="/etc/ssl/etcd/ssl/ca.pem"   \
     --endpoints="https://127.0.0.1:2379" \
     --initial-advertise-peer-urls="https://192.168.1.30:2380"  \
     --initial-cluster="etcd-ks-master01=https://192.168.1.30:2380,etcd-ks-master02=https://192.168.1.31:2380,etcd-ks-master03=https://192.168.1.32:2380" \
     --data-dir=/var/lib/etcd
     
    # 节点31:
    
    ETCDCTL_API=3;/usr/local/bin/etcdctl snapshot restore /root/snapshot_20230928.db \
     --name etcd-ks-master02  \
     --cert="/etc/ssl/etcd/ssl/admin-ks-master02.pem" \
     --key="/etc/ssl/etcd/ssl/admin-ks-master02-key.pem"  \
     --cacert="/etc/ssl/etcd/ssl/ca.pem"   \
     --endpoints="https://127.0.0.1:2379" \
     --initial-advertise-peer-urls="https://192.168.1.31:2380"  \
     --initial-cluster="etcd-ks-master01=https://192.168.1.30:2380,etcd-ks-master02=https://192.168.1.31:2380,etcd-ks-master03=https://192.168.1.32:2380" \
     --data-dir=/var/lib/etcd
     
    # 节点32:
    
    ETCDCTL_API=3;/usr/local/bin/etcdctl snapshot restore /root/snapshot_20230928.db \
     --name etcd-ks-master03  \
     --cert="/etc/ssl/etcd/ssl/admin-ks-master03.pem" \
     --key="/etc/ssl/etcd/ssl/admin-ks-master03-key.pem"  \
     --cacert="/etc/ssl/etcd/ssl/ca.pem"   \
     --endpoints="https://127.0.0.1:2379" \
     --initial-advertise-peer-urls="https://192.168.1.32:2380"  \
     --initial-cluster="etcd-ks-master01=https://192.168.1.30:2380,etcd-ks-master02=https://192.168.1.31:2380,etcd-ks-master03=https://192.168.1.32:2380" \
     --data-dir=/var/lib/etcd
    
  6. etcd节点修改数据目录权限并启动etcd
    # 所有节点执行:
    # 修改属组
    chown -R etcd:root /var/lib/etcd/
    
    # 启动etcd
    systemctl start etcd
    
  7. 启动api-server(所有k8s master节点)
    # etcd启动完成后,恢复api配置
    mv  /root/tpm_api_conf/kube-apiserver.yaml   /etc/kubernetes/manifests/kube-apiserver.yaml 
    
回答: 对于k8s etcd备份恢复,可以按照以下步骤进行操作。首先,确保已经有了备份文件。可以使用以下命令检查备份文件是否存在:\[1\] 如果备份文件不存在,则需要重新执行备份命令并输入正确的备份文件时间。接下来,可以使用etcdctl命令进行备份恢复。根据备份文件的位置和名称,使用以下命令进行恢复:\[3\] ``` ETCDCTL_API=3 etcdctl snapshot restore /path/to/etcd-snapshot.db \ --data-dir /path/to/etcd-data-dir \ --initial-cluster <etcd-cluster-endpoints> \ --initial-cluster-token <cluster-token> \ --initial-advertise-peer-urls <peer-urls> ``` 其中,`/path/to/etcd-snapshot.db`是备份文件的路径和名称,`/path/to/etcd-data-dir`是etcd数据目录的路径,`<etcd-cluster-endpoints>`是etcd集群的节点地址,`<cluster-token>`是集群的令牌,`<peer-urls>`是etcd节点的URL。根据实际情况替换这些参数。执行命令后,etcd将使用备份文件恢复数据到指定的数据目录。 需要注意的是,恢复过程可能需要一些时间,具体时间取决于备份文件的大小和系统性能。恢复完成后,可以启动etcd集群并验证数据是否成功恢复。 请注意,备份恢复是一个敏感的操作,务必谨慎执行,并确保备份文件的完整性和可用性。在执行恢复操作之前,建议先进行测试和验证,以确保备份文件可用并且可以成功恢复数据。 希望以上信息对您有所帮助。如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* [k8s etcd 备份恢复](https://blog.youkuaiyun.com/liudongyang123/article/details/124145618)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [KubernetesETCD集群备份恢复](https://blog.youkuaiyun.com/heian_99/article/details/123398209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值