Skip to content
SRE运维进阶之路SRE运维进阶之路
github icon
  • kubernetes

    • Kubernetes 学习笔记
      • 集群搭建

        • 使用 ansible 快速搭建 k8s 集群
        • 常见应用安装配置

          • Harbor 安装配置(k8s)
            • Harbor 高可用搭建(docker-compose)
              • Rancher 安装配置
                • Helm 安装配置
                • 容器运行时

                  • k8s 适配 GPU
                    • Kata2 尝试
                    • 存储

                      • Longorn 安装配置
                        • 使用 Rook 快速搭建 Ceph 集群
                        • 服务发现与路由

                          • ingress-nginx 安装配置
                          • 集群网络

                            • CNI
                              • Calico
                              • 监控告警

                                • Prometheus Operator 安装配置
                                • 实用技巧

                                  • 运维手册

                                    • etcd 备份恢复
                                      • velero 备份恢复
                                        • 方案制定
                                          • 备份信息
                                            • velero 备份恢复操作步骤
                                              • velero 备份
                                                • velero 恢复
                                                  • 其他
                                                • k8s 开启审计日志
                                                  • 内核版本升级
                                                    • 使用 kubeadm 手动更新证书
                                                      • 为 k8s node 配置资源预留
                                                        • 利用LXCFS提升容器资源可见性
                                                        • 最佳实践

                                                          • k8s node 配置资源预留
                                                            • 性能压测指标及方法
                                                              • CPU 绑核
                                                              • 集群排障

                                                                • 如何更新Terminating状态的命名空间
                                                                  • 卸载 rancher 导致 node 被清空
                                                                    • lvs 健康检查 k8s apiserver
                                                                      • k8s 更改apiserver使用强加密算法
                                                                      • 教程|项目|博客|文章推荐
                                                                        • 附录

                                                                          • 快捷命令

                                                                        velero 备份恢复

                                                                        author iconClaycalendar icon2022年10月22日category icon
                                                                        • 云原生
                                                                        tag icon
                                                                        • Kubernetes
                                                                        timer icon大约 2 分钟

                                                                        此页内容
                                                                        • 方案制定
                                                                        • 备份信息
                                                                        • velero 备份恢复操作步骤
                                                                          • velero 备份
                                                                          • velero 恢复
                                                                          • 其他

                                                                        # velero 备份恢复

                                                                        # 方案制定

                                                                        1. 物理备份:etcd 备份,保存某一个时刻的快照,快捷方便。
                                                                        2. 逻辑备份:velero 备份 ,允许用户自己选择备份的内容,比如单个 namespace、指定资源类型等

                                                                        物理备份的优点是速度快,无论是备份还是回恢复,但缺点是元数据不可读,只能全部恢复。而逻辑备份正好相反,因此两者可以结合使用,既能快,又能有细粒度控制的能力。

                                                                        etcd 备份恢复见上文

                                                                        # 备份信息

                                                                        volumes 建议有 csi 进行备份,耗时较长,容易失败

                                                                        备份策略如下

                                                                        ## 备份
                                                                        velero backup create offline-k8s-work --include-namespaces=work --snapshot-volumes=false --default-volumes-to-restic=false
                                                                        ## 周期备份
                                                                        velero create schedule offline-k8s-work --schedule="30 23 * * *" --include-namespaces=work --snapshot-volumes=false --default-volumes-to-restic=false --ttl=168h
                                                                        
                                                                        1
                                                                        2
                                                                        3
                                                                        4

                                                                        # velero 备份恢复操作步骤

                                                                        # velero 备份

                                                                        1. 配置 COS 对象存储 参考:使用对象存储 COS 作为 Velero 存储实现集群资源备份和还原open in new window

                                                                        2. 安装 velero

                                                                          # 下载版本:https://github.com/vmware-tanzu/velero/releases 最新稳定版,注意k8s版本兼容性,1.8.1版本要求k8s版本至少1.16
                                                                          wget https://github.com/vmware-tanzu/velero/releases/download/v1.8.1/velero-v1.8.1-linux-amd64.tar.gz
                                                                          # 解压
                                                                          tar -xvf velero-v1.8.1-linux-amd64.tar.gz
                                                                          # 加入环境变量
                                                                          cp velero-v1.8.1-linux-amd64/velero /usr/bin/
                                                                          # 设置补全命令
                                                                          velero completion bash > /etc/bash_completion.d/velero.sh
                                                                          source /etc/bash_completion.d/velero.sh
                                                                          # 安装
                                                                          velero install  --provider aws --plugins velero/velero-plugin-for-aws:v1.1.0 --bucket  velero-xxx --secret-file ./credentials-velero --use-volume-snapshots=false --use-restic --default-volumes-to-restic --backup-location-config region=ap-shanghai,s3ForcePathStyle="true",s3Url=https://cos.ap-shanghai.myqcloud.com --restic-pod-cpu-request=1000m --restic-pod-cpu-limit=2000m --restic-pod-mem-request=1024Mi --restic-pod-mem-limit=4096Mi  --velero-pod-cpu-request=1000m --velero-pod-cpu-limit=2000m --velero-pod-mem-request=1024Mi --velero-pod-mem-limit=4096Mi
                                                                          # 查看配置的存储位置是否可用
                                                                          velero backup-location get
                                                                          
                                                                          1
                                                                          2
                                                                          3
                                                                          4
                                                                          5
                                                                          6
                                                                          7
                                                                          8
                                                                          9
                                                                          10
                                                                          11
                                                                          12
                                                                          13
                                                                        3. 备份 根据实际情况备份指定namespace 或 指定资源类型

                                                                          velero backup create test-backup 一次性备份
                                                                          velero create schedule NAME --schedule="0 */6 * * *”
                                                                          velero create schedule NAME --schedule="@every 6h" 定时备份
                                                                          velero create schedule NAME --schedule="@every 6h" --exclude-resources persistentvolumeclaims,persistentvolumes
                                                                          velero create schedule NAME --schedule="@every 24h" --include-namespaces web
                                                                          velero create schedule NAME --schedule="@every 168h" --ttl 2160h0m0s
                                                                          
                                                                          1
                                                                          2
                                                                          3
                                                                          4
                                                                          5
                                                                          6

                                                                        # velero 恢复

                                                                        velero restore create restore-1 --from-backup backup-1
                                                                        velero restore create --from-backup backup-1
                                                                        velero restore create --from-schedule NAME 或通过namespace和type指定恢复的内容
                                                                        velero restore create --from-schedule schedule-1 --allow-partially-failed
                                                                        velero restore create --from-backup backup-2 --include-resources persistentvolumeclaims,persistentvolumes
                                                                        
                                                                        1
                                                                        2
                                                                        3
                                                                        4
                                                                        5

                                                                        # 其他

                                                                        • velero 备份删除

                                                                          velero backup delete test-backup
                                                                          velero schedule delete test-schedule
                                                                          
                                                                          1
                                                                          2
                                                                        • velero 卸载

                                                                          kubectl delete namespace/velero clusterrolebinding/velero
                                                                          kubectl delete crds -l component=velero
                                                                          
                                                                          1
                                                                          2
                                                                        edit icon编辑此页open in new window
                                                                        上次编辑于: 2022/10/22 05:03:44
                                                                        贡献者: clay-wangzhi
                                                                        上一页
                                                                        etcd 备份恢复
                                                                        下一页
                                                                        k8s 开启审计日志
                                                                        备案号:冀ICP备2021007336号
                                                                        Copyright © 2023 Clay