【问题标题】:kubernetes controller or scheduler HAkubernetes 控制器或调度程序 HA
【发布时间】:2017-04-06 22:21:44
【问题描述】:

在 kubernetes 中,controller-manager 和 scheduler 通过创建 Endpoint 来实现 HA,例如:

kube-scheduler Endpoint

据我所知,LeaderElection 只是创建一个没有服务的端点。但是,在端点控制器中,它会删除没有相应服务的端点,这会导致领导者转换。

endpoints_controller source code

不知道是错过了什么重要的事情还是leader选举存在bug。

【问题讨论】:

    标签: kubernetes high-availability


    【解决方案1】:

    你可能理解错了代码,这里我假设你已经了解了 APIServer 中的 list-watch 机制。

    NewEndpointController 中可以看到,EndpointController 只关心 pod 和 service 资源,只有当这两种资源变化(添加/更新/删除)时,EndpointController 才会捕捉到。所以创建一个独立的端点(这个事件)不会被 EndpointController 捕获,只会提醒 kube-proxy 在 host 中创建相关的网络配置。

    【讨论】:

    • 我不这么认为。 checkLeftoverEndpoints 函数将在控制器启动五分钟后在单个 gorouine 中运行。它不是事件通知机制,它只是列出所有端点并处理它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 1970-01-01
    相关资源
    最近更新 更多