主从系统的Kubernetes入口

主从系统的Kubernetes入口,kubernetes,traefik,kubernetes-ingress,Kubernetes,Traefik,Kubernetes Ingress,我有一个kubernetes服务,它以领导者/追随者的方式工作,因此2个POD(对于HA)中只有一个可以接受连接。我想通过traefik入口控制器公开我的服务 实现这一点的方法之一是调整服务的准备就绪探测器,这样子吊舱在成为主吊舱之前,准备就绪检查就会失败。但我不喜欢这种方法,因为区分这些豆荚是真的失败了,还是只是等待成为大师,会让人感到困惑 任何想法都是受欢迎的因此您不需要对traefik入口使用k8s就绪探测器,您可以通过注释使用在k8s入口中定义的traefik后端运行状况检查。这样,您就

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

实现这一点的方法之一是调整服务的准备就绪探测器,这样子吊舱在成为主吊舱之前,准备就绪检查就会失败。但我不喜欢这种方法,因为区分这些豆荚是真的失败了,还是只是等待成为大师,会让人感到困惑


任何想法都是受欢迎的

因此您不需要对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

通过这种方式,您可以将k8s就绪探测器用于吊舱。

在文档中找不到有关健康检查注释的信息?对你有用吗?你是对的,他们的文件里没有。imo it应在Docker和Marathon等其他系统上得到支持。如果它不受支持,我将打开一个问题。看起来您在这里得到了答案:可以在github上打开一个traefik问题。在我看来,如果你不需要准备就绪探测器,它应该在那里。