跳到主要内容

增量升级、验证与回滚

升级前​

固定当前与目标镜像 digest、配置版本、数据库变更、客户端兼容范围和回退目标。确认 kubeconfig、namespace、deployment、容器名与用户授权一致,备份数据和必要配置引用。

以下为命令形态,变量必须替换为已核验目标,不是本次自动执行内容:

$kubeconfigPath = '<kubeconfig>'
$targetNamespace = '<namespace>'
$targetDeployment = 'base-bff'
$targetContainer = '<实际容器名>'
$targetImage = '<registry>/<image>@sha256:<digest>'
kubectl --kubeconfig $kubeconfigPath -n $targetNamespace set image deployment/$targetDeployment "$targetContainer=$targetImage"
kubectl --kubeconfig $kubeconfigPath -n $targetNamespace rollout status deployment/$targetDeployment --timeout=180s
kubectl --kubeconfig $kubeconfigPath -n $targetNamespace get pods -o wide

写后验证​

确认实际运行 imageID、重启情况、服务注册与依赖;从网关检查登录、数据访问和本次业务,核对权限、幂等和读回结果。先通过单批再扩大,不使用共享服务重启替代故障定位。

回滚​

服务恢复到已保留的旧 digest,并核对配置版本。可用的 rollout 历史不等于配置、数据库和外部副作用都能一起恢复;数据库迁移必须有单独的兼容或回退计划。

服务恢复后继续检查原订单、任务和业务状态,避免定时扫描重复履约。遇到不可逆数据变化先停止扩大影响,采用已评审的恢复方案,不直接整库覆盖。