本文介绍灰度发布新版本服务,系统运行一段时间,新版本服务稳定后,如何删除老版本服务。

前提条件

通过命令行删除

执行以下命令,编辑步骤2:发布新版本服务已经部署的YAML文件,删除老版本的服务。
说明 请将annotations一并删除。
kubectl get ingress gray-release-02

通过控制台删除

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,单击路由
  5. 路由(Ingress)页面,先选择命名空间,然后选择目标路由,并单击操作列下的更多 > 变更
    路由变更
  6. 在弹出的对话框中,对Ingress进行修改:
    1. 规则 > 服务区域,删除老版本服务规则。
      服务规则
    2. 单击更新

执行结果

  1. 返回路由列表页面,您可看到只有一条路由规则,指向新版本的new-nginx服务。
    路由
  2. 登录Master节点,执行curl命令,查看路由的访问情况。
    $ curl -H "Host: www.example.com" http://<EXTERNAL_IP>
    nodes

可以看到,现在的请求全部被路由到了新版本的服务中,至此完成了灰度发布的整个周期。最后,您也可以删除老版本的Deployment和Service。