开发者社区 > 云原生 > 容器服务 > 正文

咨询个OpenKruise问题。请问这里是我们的逻辑有问题还是我用的姿势有问题?

咨询个OpenKruise问题。
我在跑一个demo(kruise-rollout+gateway-api+istio),分批升级的策略是携带某http header的流量打到新pod,在刚更新deployment的时候,有部分未携带标记header流量异常的跑到了新pod,稍后才正常。监听资源变化后发现是先创建新pod,此时旧的service对新pod可达。
按我的理解应该是先更新旧的service和pod将流量管控住,然后再创建新的pod和service吧?
请问这里是我们的逻辑有问题还是我用的姿势有问题?# rollout.yaml
apiVersion: rollouts.kruise.io/v1beta1
kind: Rollout
metadata:
name: rollouts-demo
spec:
workloadRef:
apiVersion: apps/v1
kind: Deployment
name: workload-demo
strategy:
canary:
enableExtraWorkloadForCanary: true
patchPodTemplateMetadata:
labels:
canary_enable: "true"
steps:

  - replicas: 1
    pause: {}
    matches:
    - headers:
      - type: Exact
        name: x-y-gray
        value: "true"
  trafficRoutings:
  - gateway:
      httpRouteName: httproute-demo
    service: service-demo

展开
收起
夹心789 2024-06-04 09:10:59 41 0
1 条回答
写回答
取消 提交回答
  • 是逻辑有问题,现在已经注意到并且更改了,还没有merge。当前或许可以手动在发布之前手动patch stable selector到service上,应该可以workaround ,此回答整理自钉群“OpenKruise 社区交流群”

    2024-06-04 21:41:31
    赞同 展开评论 打赏
问答分类:

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载