kubernetes - 领导者追随者系统的 Kubernetes 入口
问题描述
我有一个以领导者/跟随者方式工作的 kubernetes 服务,因此只有 2 个 pod(用于 HA)中的一个可以接受连接。我想通过 traefik 入口控制器公开我的服务。
实现这一点的方法之一 - 调整服务的就绪探测,因此从属 pod 将在就绪检查中失败,直到它成为主节点。但我不喜欢这种方法,因为很难区分 pod 是否确实失败了,或者只是在等待成为 master?
欢迎任何想法
解决方案
所以你不需要对 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 就绪探针。
推荐阅读
- python - 从python中的字典值对中删除重复项?
- react-native - Flatlist 中的多项选择对于大型列表来说是滞后的
- amazon-web-services - 尝试在 Redshift 中创建日期表
- android - Jetpack Compose 中的键盘导航
- python - 如何在 Python 中创建一个具有 2 个输入的方阵,每个输入都有“n”个值?
- c# - 拆分字符串值c#
- flutter - 如何从 Void 函数中的变量中获取变量值并将这些变量用于小部件
- actions-on-google - 使用 Tap 启动的 Google Actions 游戏不起作用
- vhdl - VHDL 运行 RTL 模拟不会运行
- python - 如果移动到 conftest,带有 pytest-lazy-fixture 的 Pytest 参数化夹具会失败