1. 课程导论:蓝绿发布与灾备概述、Velero在K8s生态中的定位、课程目标与学习路径

1.1 蓝绿发布与灾备的核心概念

在生产环境中,应用发布与数据安全是运维体系的两大基石。蓝绿发布(Blue-Green Deployment)与灾备(Disaster Recovery)分别解决了“如何平滑上线新版本”和“如何应对突发故障”这两个关键问题。

核心定义:
  • 蓝绿发布:维护两套完全独立的生产环境(蓝环境为当前运行版本,绿环境为新版本)。流量通过负载均衡器瞬间切换,实现零停机发布。
  • 灾备:通过数据备份、复制和恢复机制,确保在数据中心故障、误操作或勒索软件攻击后,业务能在RTO(恢复时间目标)和RPO(恢复点目标)范围内恢复。

在Kubernetes环境中,蓝绿发布通常依赖Service的Selector切换或Ingress流量路由;而灾备则依赖对集群资源(Deployment、PVC、ConfigMap)的定期备份与跨集群恢复。

维度 蓝绿发布 灾备
目标 零停机、快速回滚 数据不丢、业务可恢复
核心操作 流量切换、版本验证 备份、复制、恢复
K8s依赖 Service、Ingress、Deployment Velero、etcd快照、PV快照
回滚粒度 应用版本级别 集群/命名空间/应用级别
蓝绿发布与灾备协同关系图 蓝环境 (v1.0) 当前生产流量 稳定版本 绿环境 (v2.0) 待发布版本 灰度验证中 负载均衡器 流量切换 零停机切换 Velero 灾备层:定时备份 / 跨集群恢复 / 版本回滚 备份蓝绿两套环境的资源定义 + PV数据,支持按时间点回滚

1.2 Velero在Kubernetes生态中的定位

Velero(原Heptio Ark)是VMware开源的Kubernetes集群备份与恢复工具,已成为CNCF生态中灾备领域的事实标准。它不只是一个备份工具,更是实现蓝绿发布回滚策略的关键基础设施。

Velero的核心能力:
  • 集群资源备份:将K8s对象(Deployment、Service、ConfigMap、PVC等)导出为JSON/YAML文件,存储到对象存储(S3、MinIO、GCS等)。
  • PV数据快照:通过CSI或云厂商快照API,对持久卷进行一致性快照。
  • 跨集群迁移:将备份恢复到不同集群,支持命名空间映射和资源过滤。
  • 调度与保留策略:支持CronJob定时备份,按时间或数量自动清理旧备份。
  • 回滚能力:通过velero restore命令,将集群恢复到任意历史备份点。
对比维度 Velero etcd快照 云厂商原生备份
备份粒度 命名空间/资源类型/标签选择 全集群etcd数据 依赖云产品(如EBS快照)
PV数据 支持CSI快照、Restic文件级备份 不支持 仅支持块存储快照
跨集群恢复 原生支持,可映射命名空间 需手动处理 通常仅限同区域
回滚灵活性 支持部分恢复、排除资源 全量覆盖 有限
蓝绿发布适配 可备份蓝/绿环境,快速回滚 不适用 需额外脚本
Velero在K8s灾备生态中的位置 Kubernetes 集群(蓝环境 + 绿环境) Velero 备份/恢复引擎 对象存储 (S3/MinIO) CSI/云快照 Restic文件备份

1.3 课程目标与学习路径

本课程旨在帮助学员掌握一套可落地的、基于Velero的蓝绿发布灾备方案,使学员能够在生产环境中实现:

  • 零停机蓝绿发布:通过Service流量切换与Velero备份联动,实现安全发布。
  • 快速回滚:当绿环境出现问题时,利用Velero备份在秒级内回滚到蓝环境状态。
  • 跨集群灾备:将备份数据同步到异地集群,实现Region级故障切换。
  • 自动化运维:通过CronJob调度备份、Hook脚本实现发布前自动备份。
章节模块 核心内容 实践产出
第1章 导论 蓝绿发布、灾备、Velero定位 理解整体架构
第2-4章 环境搭建 Velero安装、MinIO存储、CSI快照配置 可用的备份环境
第5-8章 备份与恢复 资源备份、PV备份、跨集群恢复、调度策略 自动化备份流水线
第9-12章 蓝绿发布集成 Service切换、Pre/Post Hook、回滚验证 蓝绿发布+回滚脚本
第13-15章 高级场景 多集群灾备、加密备份、审计日志 生产级灾备方案
前置要求:学员需具备Kubernetes基础操作能力(kubectl、YAML编写)、了解Linux基本命令,并拥有一个可运行的K8s集群(建议v1.24+)。本课程所有实验均可在本地Minikube或Kind集群中完成。

通过本课程的学习,学员将能够独立设计并实施一套“发布即备份、回滚即恢复”的蓝绿发布灾备体系,显著提升K8s生产环境的可靠性与运维效率。