实战目标

在生产环境中同时上线了frontend服务的v1和v2版本,v1版本的按钮颜色是绿色的,v2版本的按钮颜色是蓝色的。运维人员期望使用Android操作系统的一半用户看到的是v1版本,另一半用户看到的是v2版本;使用其他操作系统的用户看到的总是1版本

实战演练

  • 切换到目标目录

    1
    cd istioWeather/cloud-native-istio/10_canary-release/10.4/
  • 部署frontend服务的v2版本

    1
    k apply -f frontend-v2-deployment.yaml -n weather

    验证

    1
    k get po -n weather

    部署验证

  • 更新frontend服务的DestinationRule

    1
    k apply -f frontend-v2-destination.yaml -n weather

    查看下发的DestinationRule,发现新增了v2版本的subset的定义

    1
    k get dr frontend-dr -o yaml -n weather

    部署验证

  • 配置frontend服务的路由策略

    1
    k apply -f vs-frontend-combined-condition.yaml -n weather
  • 效果
    用安卓手机多次查询前台页面,一半概率是绿色按钮,一半概率是蓝色按钮。在win上查询前台界面始终是绿色按钮
    小改一下:用Edg浏览器一半绿色一半蓝色,用谷歌始终是绿色

    1
    k edit vs frontend-route -n weather

    部署验证

  • 访问

    • Edg会有概率出现两种颜色
      部署验证
      部署验证
    • 谷歌始终是绿色
      部署验证