前端静态资源基于ingress的pre灰度和多版本发布实现

参考资料:通过Ingress实现灰度发布和蓝绿发布 - 容器服务 ACK - 阿里云

前端静态资源基于ingress的pre灰度和多版本发布实现_第1张图片

Pre发布

  ( 1 在CI/DI灰度环境菜单中选择对应项目进行pre发布(发布前,确认原类型是ingress,并且填上RoutId)

    2 点击发布,调 k8s部署容器,创建对应service (Group名称对应serviceName)

    3 调用k8s成功后,在CI/DI自动调用网关接口(传RoutId),网关调用iingreaaAPI,找到原Ingress,在该ingress中添加annotations( h-x-strategy-token-cmnet=CompanyNetwork),并且关联对应service

以上是基于CI/DI的发布流程,可以忽略

重点是:ingress中添加annotations的内容

  请求后会自动根据头部信息(h-x-strategy-token-cmnet=CompanyNetwork),路由到对应service

多版本发布

在该ingress的annotations中添加如下代码 (ingress和nginx一样)
nginx.ingress.kubernetes.io/configuration-snippet: |
      if ($http_version = "bj") {
   proxy_pass http://nginx-normal-2-80.fat:80;
 break;
}
     if ($http_version = "sz") {
   proxy_pass http://nginx-pre-80.fat:80;
 break;
}

请求后,会根据头部信息(version = sz) 路由到对应的地址

其他细节:

去除前缀:前端静态资源基于ingress的pre灰度和多版本发布实现_第2张图片

你可能感兴趣的:(灰度发布,ingress,灰度,多版本,静态资源)