节点丢失时的群集协调

时间:2017-06-22 12:11:41

标签: kubernetes kubernetes-health-check

我有一个3个节点的集群,我希望在单个节点丢失后快速恢复。通过恢复我的意思是我在一段合理的时间后恢复与我的服务的通信(最好是可配置的)。

以下是各种细节:

k8s版本:

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.7", GitCommit:"8eb75a5810cba92ccad845ca360cf924f2385881", GitTreeState:"clean", BuildDate:"2017-04-27T10:00:30Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.7", GitCommit:"8eb75a5810cba92ccad845ca360cf924f2385881", GitTreeState:"clean", BuildDate:"2017-04-27T09:42:05Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}

我有一个分布在所有3个节点上的服务。如果一个节点出现故障,我会发现以下行为:

  1. api服务器故障转移到另一个节点,kubernetes服务端点显示正确的IP地址(自定义故障转移)。
  2. api服务器未在10.100.0.1(其群集IP)
  3. 上做出响应
  4. 一段时间后,所有相关的服务端点都被清除(例如kubectl get ep --namespace=kube-system显示没有所有端点的就绪地址)
  5. 服务IP上没有相关服务(由于上述原因)
  6. 该服务具有就绪/活性探测,并且在任何给定时间只有一个实例ready,所有实例都为live。我已经检查过应该可用的实例也可用 - 即ready / live

    在丢失节点上运行的服务Pod接收NodeLost状态之前持续超过15分钟,此时重新填充端点,我可以照常访问该服务。

    我尝试摆弄pod-eviction-timeoutnode-monitor-grace-period设置无济于事 - 时间总是大致相同。

    因此,我的问题:

    1. 如果节点丢失,我在哪里可以了解关键k8s组件的行为?
    2. 什么是参数组合,以减少群集协调所需的时间,因为这应该用于测试?

0 个答案:

没有答案
相关问题