我想知道在扩展请求期间Replication Controller使用了什么终止策略。
例如:
初始副本= 2
创建了2个Pod {Pod-1,Pod-2}
向外扩展到5
将创建3个Pod {Pod-1,Pod-2,Pod-3,Pod-4,Pod-5}
再次缩小为2
3个Pod将被删除,我们只剩下2个Pod {Pod-x,Pod-y}
现在,Replication控制器是否会根据其年龄终止并删除pod?或者它取决于Pod内的容器是否繁忙?或者是随机顺序?
我测试了这个场景几次,发现Pod随机终止。任何人都可以确认一样吗?有没有办法控制终止序列?
提前致谢。
答案 0 :(得分:1)
Kubernetes复制控制器可确保指定数量的pod"副本"在任何给定的时间运行。如果有太多,它会杀死一些。如果太少,它会开始更多。与用户直接创建pod的情况不同,ReplicationController维护的pod会在失败时被自动替换,被删除或被终止
在降尺度过程中选择要杀死的吊舱有一个逻辑。
开发人员描述了用于选择要杀死的吊舱的工资:
{{1}}
您可以设置配置选项以避免杀死特定的pod。如果你想详细了解它是如何工作的 - 请查看源代码,有一个很好的lecture。