1.节点缩容 会不会影响业务连续性?机制原理是什么?
结论:
基本不会影响业务连续性。
缩容过程中,最激进的情况:只会删除一个非空节点。如果业务POD在此节点上,可能会被驱逐。
原因:
1)选择缩容节点的过程,进行了层层过滤
重要过滤条件 |
---|
如果要移除某个节点,需要保证该节点上的pod符合其对应的“Pod Disruption Budget (pod 中断预算)”要求。 --------------- Pod Disruption Budget: 控制应用POD处于运行状态的最低个数或最低百分比,保证在主动销毁应用POD的时候,不会一次性销毁太多的应用POD,从而保证业务不中断或业务SLA不降级。 |
如果要移除某个节点,需要确保该节点的POD,可以被重新调度到其他节点上。 |
2)缩容节点执行过程中
只存在两种情况:
是否会影响业务POD | ||
---|---|---|
1.删除多个空节点 | 不会,节点上没有POD(忽略DS和静态POD)。 | |
2.删除一个非空节点 | 可能,有影响。 | 1)在移除该节点的过程中,程序会为每一个POD起一个协程来执行驱逐操作,超时时间为10分钟。「注意:如果驱逐失败或超时,删除节点的流程也会继续」。 2)一次缩容仅影响一个节点。 |
推荐:
业务配置有就绪检查,且多副本部署。
为重要的业务,设置“Pod Disruption Budget (pod 中断预算)”。