我有一个以领导者/跟随者方式工作的kubernetes服务,因此(用于HA的)两个Pod中只有一个可以接受连接。我想使用traefik入口控制器公开提供我的服务。
实现此目标的方法之一-调整服务的“就绪性”探针,因此从属Pod将无法进行就绪性检查,直到成为主服务器为止。但是我不喜欢这种方法,因为如果将豆荚确实失败了,或者只是在等待成为主人,这将使人困惑。
欢迎任何想法
答案 0 :(得分:2)
因此您无需为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准备就绪探针。