【问题标题】:Kubernetes ingress for leader follower system领导者追随者系统的 Kubernetes 入口
【发布时间】:2018-09-10 18:16:54
【问题描述】:

我有一个 kubernetes 服务,它以领导者/追随者的方式工作,因此只有 2 个 pod(用于 HA)中的一个可以接受连接。我想通过 traefik 入口控制器公开我的服务。

实现这一点的方法之一 - 调整服务的就绪性探测,因此从属 pod 将在就绪性检查中失败,直到它成为主播。但我不喜欢这种方法,因为很难区分 pod 是否确实失败了,或者只是在等待成为 master?

欢迎提出意见

【问题讨论】:

    标签: kubernetes traefik kubernetes-ingress


    【解决方案1】:

    所以你不需要对 traefik 入口使用 k8s 就绪探测,你可以通过注释使用在你的 k8s 入口中定义的 traefik 后端健康检查。这样你就不会转发到不活跃的后端。例如:

    kind: Ingress
    metadata:
      name: specific-deployment
      annotations:
        traefik.backend.healthcheck.port: 8080
        traefik.backend.healthcheck.scheme: http
        traefik.backend.healthcheck.path: /health   
    spec:
      rules:
      - host: specific.minikube
        http:
          paths:
          - path: /
            backend:
              serviceName: stilton
              servicePort: http
    

    这样您就可以为您的 pod 使用 k8s 就绪探针。

    【讨论】:

    • 无法在文档docs.traefik.io/v1.7/configuration/backends/kubernetes 中找到有关健康检查注释的信息?它对你有用吗?
    • 你是对的,他们在文档中没有它。 imo 应该支持它,因为它记录在 Docker 和 Marathon 等其他系统上。如果不支持,我会打开一个问题。
    • 看起来你在这里得到了答案:stackoverflow.com/questions/52275480/…随时在 github 上打开一个 traefik 问题。如果你不需要准备探测,它应该在那里。
    猜你喜欢
    • 2021-06-13
    • 1970-01-01
    • 2011-12-28
    • 2019-07-03
    • 2017-12-08
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多