首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有金丝雀属性可以签入nginx-ingress代码段

是否有金丝雀属性可以签入nginx-ingress代码段
EN

Stack Overflow用户
提问于 2021-09-10 17:53:15
回答 1查看 135关注 0票数 1

我有蓝色(生产)和绿色(金丝雀)部署的这两个入口,我希望在我的nginx代码片段中根据请求是从生产服务还是从金丝雀提供服务来设置某些内容。代码片段中的if语句应该是什么?

代码语言:javascript
复制
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: blue-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/configuration-snippet: |
      if (canary) { <--- WHAT CAN I CHECK HERE?
        ...
      } else {
        ...
      }
spec:
  ...
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: green-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/canary: "true"
    nginx.ingress.kubernetes.io/canary-by-cookie: "green"
spec:
  ...
EN

回答 1

Stack Overflow用户

发布于 2021-09-14 07:41:33

我不认为有特定的金丝雀属性可以检查。

但是,您可以查找金丝雀服务可以提供的特定cookie。

代码语言:javascript
复制
if ($http_cookie ~* "id=([^;]+)(?:;|$)") {
    ...
}

注意,虽然nginx有if directive,但没有else。else的等价物将是所有未使用if修改的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69136200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档