首页 > 解决方案 > 领导者追随者系统的 Kubernetes 入口

问题描述

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

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

欢迎任何想法

标签: kubernetestraefikkubernetes-ingress

解决方案


所以你不需要对 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 就绪探针。


推荐阅读