集群弹性伸缩是如何运作的(2)
导读:集群弹性伸缩是如何运作的,生成加工出来的模板用于扩容,将在后续扩容专题中细讲 更新集群状态的主要目的是: 找出已经触发扩容但还没有注册的节点 为扩容超时节点对应的节点
集群弹性伸缩是如何运作的
- 找出已经触发扩容但还没有注册的节点
- 为扩容超时节点对应的节点池设置 backoff
- 查询创建失败的节点,设置对应节点池为 backoff
- 找出当前已注册节点数不在可接受区间内的节点池
- 清理 backoff
- 长时间没有注册上的节点会被删除,时间由 –max-node-provision-time 指定,默认为 15min
- 只有当集群是健康时,CA 才会实际扩缩容,否则循环会直接返回
- 删除在更新集群状态时找到的创建失败的节点
- 当已经注册的实例数长时间小于期望实例数时,会将节点池的期望实例数调整为已注册实例数,时间由 –max-node-provision-time 指定,默认为 15min
- 过滤掉一些不需要触发扩容的 pod
- 不考虑优先级太低的 Pod,–expendable-pods-priority-cutoff 指定,默认为 -10
- 过滤掉有 NominatedNodeName 属性的 Pod
- 过滤掉可调度到已有节点和 upcoming 节点上的 Pod
- 过滤掉创建时间过短的节点,时间由 –new-pod-scale-up-delay 指定,默认为 0,即不过滤
- 过滤掉创建时间短于 2s 的 pod,或者短于 30s 的 gpu pod
- 扩容将在后续扩容专题中细讲
- 缩容将在后续缩容专题中细讲
集群健康认定:
当集群同时满足下述两个条件时,集群会被认为是异常的,反之健康:
- 未就绪的 Node 数大于启动参数中 —-ok-total-unready-count 指定值(默认 3)
- 未就绪的 Node 数占总 Node 数百分比大于 —-max-total-unready-percentage 指定值(默认 45)
当集群不健康时,在会在 kube-system 下记录一个 ClusterUnhealthy 的事件。
扩容中节点(Upcoming Nodes)
扩容中实例数 = 期望实例数 – (就绪实例数 + 未就绪实例数 + 长时间未注册的实例数)
- 期望实例数:节点池当前期望的实例数
- 就绪实例数:节点池在集群中已经就绪可用的实例数
- 未就绪实例数:已经注册到集群但还不可用的实例数
- 未注册实例数:通过 cloudprovider 可以查到,但是在集群中还查不到的实例数
- 已删除的实例数:被打上 ToBeDeletedByClusterAutoscaler 污点的实例数
- 长时间未注册的实例数:存在时间超过 —-max-node-provision-time 的未注册实例数
上述分享的集群弹性伸缩是如何运作的的全面介绍了,希望给IT袋网网的网友们带来一些相关知识。
相关阅读
-
网站设计与制作教程 web制作网站的模板
IT袋网为大家说一说网站设计与制作教程和web制作网站的模板的IT小经验,下面来一起了解一下吧。 对于一个完整的网页来说,网页的设计与制作都同样重要。可能许多网页设计与制作的初学者
-
MySQL主从复制三种模式详细解析:原理与应用
小编为网友们解答MySQL主从复制三种模式详细解析的相关知识,下面IT袋网为您详细介绍 MySQL主从复制是一种常见的数据冗余和备份策略,主要用于提高数据的可用性和读取性能。 主从复制有三
-
开网站需要多少钱 公司网页制作流程及费用
一篇很详细的教程是关于开网站需要多少钱和公司网页制作流程及费用的相关经验,接下来IT袋带大家一起了解。 这个问题可以说是网站建设常见问题最热门的问题,也是客户咨询的最多的问
-
魔兽世界掉落查询工具 怀旧服掉落查询数据库
一篇很详细的教程是关于魔兽世界掉落查询工具和怀旧服掉落查询数据库的相关话题,接下来就是全面介绍。 raidbot是一个很好用的simc网站,一直保持代码的更新。可以装备跑分,绿字收益跑


