Cha*_* L. 6 replication kubernetes
我有一组Pod运行命令,可能需要花费几秒钟的时间。有一个过程可以跟踪打开的请求以及请求在哪个Pod上运行。我希望在缩小Pod时使用该信息-通过指定要尝试退出的Pod或指定要关闭的Pod。更改副本数时是否可以指定这种类型的信息,例如,我想要X个副本,尝试不杀死在Pod A,B,C上长时间运行的任务?
您可以使用功能门注释特定的 Podcontroller.kubernetes.io/pod-deletion-cost: -999并启用PodDeletionCost功能门。此功能在 1.21 中实现 alpha,在 1.22 中实现 beta。
controller.kubernetes.io/pod-deletion-cost可以设置注释来提示与属于同一 ReplicaSet 的其他 pod 相比,删除 pod 的成本。删除成本较低的 Pod 将首先被删除。
https://github.com/kubernetes/kubernetes/pull/99163 https://github.com/kubernetes/kubernetes/pull/101080
这目前是不可能的。当你缩减副本数量时,系统会选择一个删除;没有办法“提示”您希望删除哪个。
您可以做的一件事是更改正在运行的 pod 上的标签,这会影响它们在复制控制器中的成员资格。这可用于隔离您要调试的 pod(以便它们不会成为服务的一部分或被扩展事件删除),但也可能用于您的用例。
我自己一直在寻找解决方案,但也找不到开箱即用的解决方案。但是,可能有一个解决方法(如果您可以测试并确认,我会很高兴)
步骤:
1. 删除复制控制器
2. 删除 X 个所需的 pod
3. 重新创建大小为 X 的复制控制器
| 归档时间: |
|
| 查看次数: |
1589 次 |
| 最近记录: |