我有一个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个节点上的服务。如果一个节点出现故障,我会发现以下行为:
10.100.0.1
(其群集IP)kubectl get ep --namespace=kube-system
显示没有所有端点的就绪地址)该服务具有就绪/活性探测,并且在任何给定时间只有一个实例ready
,所有实例都为live
。我已经检查过应该可用的实例也可用 - 即ready
/ live
。
在丢失节点上运行的服务Pod接收NodeLost
状态之前持续超过15分钟,此时重新填充端点,我可以照常访问该服务。
我尝试摆弄pod-eviction-timeout
,node-monitor-grace-period
设置无济于事 - 时间总是大致相同。
因此,我的问题: