【问题标题】:Kubernetes How do I ensure that the canary-frontend hits the canary-backend and the stable frontends only hit the stable backends?Kubernetes 如何确保 canary-frontend 命中 canary-backend 而 stable 前端只命中 stable 后端?
【发布时间】:2017-11-08 09:55:33
【问题描述】:

如果我有多个部署一个稳定的前端和一个稳定的后端,并且每个 canary-frontend 和 canary-backend 部署 1 个,

如何确保 canary-frontend 命中 canary-backend 而 stable 前端只命中 stable 后端?

我认为会话关联只会确保登录到我的金丝雀前端的人会返回到我的金丝雀前端,但它并不能保证我的金丝雀前端会命中金丝雀后端。

是否有诸如“标签亲和力”之类的东西?

请注意,如果这很重要,我正在使用谷歌容器引擎

【问题讨论】:

  • 如何将前端连接到后端?您是否对 IP/服务名称进行了一些环境配置?您是否使用 Kubernetes 发现了该服务?
  • kubernetes 为我处理服务发现。我的后端服务可以通过https://backend-service 访问。然而,稳定的backend-service 显然会有不同的路线(或不同的逻辑)然后金丝雀backend-service

标签: kubernetes google-kubernetes-engine


【解决方案1】:

我建议将您的金丝雀部署命名为canary-backend-service,金丝雀前端应调用https://canary-backend-service

你可以有一个环境变量在 stable 和 canary 后端服务之间切换,有点像这样:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: canary-frontend
spec:
  template:
    spec:
      containers:
        - name: frontend
          image: frontend:v2.0.0-rc1
          env:
            - name: BACKEND
              value: canary-backend

那么您将不得不在代码中读取BACKEND 环境变量,而不是固定的backend-service 主机名。

【讨论】:

  • 这行不通,因为 kubernetes 不知道将一些用户发送到我的金丝雀与我的稳定网站
猜你喜欢
  • 1970-01-01
  • 2022-06-27
  • 2020-12-13
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 2020-06-23
  • 1970-01-01
相关资源
最近更新 更多