gpt4 book ai didi

kubernetes - Ingress-controller-nginx领导人选举-为什么?

转载 作者:行者123 更新时间:2023-12-02 11:52:46 28 4
gpt4 key购买 nike

谁能解释为什么在部署具有多个副本的入口 Controller (nginx)时需要选举领导者?
它们之间是否正在进行同步?
实际同步了什么?
我搜索了文档,却发现……什么都没有
我知道有一个configmap可以保存领导者的POD名称,但仅此而已。
我还看到启动 pods 时正在进行领导选举

I0828 16:08:39.500651       7 nginx.go:307] Starting NGINX process
I0828 16:08:39.500779 7 leaderelection.go:242] attempting to acquire leader lease ingresscontroller/ingress-controller-leader...
I0828 16:08:39.500890 7 nginx.go:327] Starting validation webhook on :8443 with keys /usr/local/certificates/cert /usr/local/certificates/key
I0828 16:08:39.503049 7 controller.go:141] Configuration changes detected, backend reload required.
I0828 16:08:39.504322 7 status.go:86] new leader elected: ingress-nginx-controller-xxxxxx-xxxx
I0828 16:08:39.728368 7 controller.go:157] Backend successfully reloaded.
I0828 16:08:39.728416 7 controller.go:166] Initial sync, sleeping for 1 second.
谁能提供一些关于为什么需要领导的见解?
提前致谢!
布雷格特

最佳答案

简而言之,领导者选举是一种机制,可确保只有nginx入口 Controller 的一个实例在积极地做出决策,而其他所有实例都在不活跃,但是如果 Activity 的实例发生任何事情,它们都可以领导。
本质上,这与kubernetes的控制平面组件非常相似,例如kube Controller 管理器或kube调度程序。
同步是将所需状态从入口资源中定义的规则同步到实际的nginx配置文件中
Nginx入口 Controller Pod副本本身之间没有状态同步,因为当Pod首次启动并保持连续时,每个Pod都能执行从入口资源到实际Nginx配置文件的所需状态同步。通过kubernetes API服务器公开的API监视入口和其他资源。

关于kubernetes - Ingress-controller-nginx领导人选举-为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63637655/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com