K8S从懵圈到熟练 – 集群伸缩原理

本文深入探讨了阿里云K8S集群的节点增加与减少原理,包括手动和自动添加节点、集群扩容及自动伸缩。通过理解这些实现机制,有助于在面对问题时进行有效排查。涉及关键组件有:Cluster Autoscaler、ESS、管控和节点准备/清理。自动伸缩依赖Pod状态判断资源预订率,而节点减少涉及管控、ESS和节点自身的清理操作。

阿里云K8S集群的一个重要特性,是集群的节点可以动态的增加或减少。有了这个特性,集群才能在计算资源不足的情况下扩容新的节点,同时也可以在资源利用率降低的时候,释放节点以节省费用。

这篇文章,我们讨论阿里云K8S集群扩容与缩容的实现原理。理解实现原理,在遇到问题的时候,我们就可以高效地排查并定位原因。我们的讨论基于当前的1.12.6版本。

节点增加原理

阿里云K8S集群可以给集群增加节点的方式有,添加已有节点,集群扩容,和自动伸缩。其中,添加已有节点又可分为手动添加已有节点和自动添加已有节点。节点的增加涉及到的组件有,节点准备,弹性伸缩(ESS),管控,Cluster Autoscaler以及调度器。

在这里插入图片描述

手动添加已有节点

节点准备,其实就是把一个普通的ECS实例,安装配置成为一个K8S集群节点的过程。这个过程仅靠一条命令就可以完成。这条命令使用curl下载attach_node.sh脚本,然后以openapi token为参数,在ECS上运行。

curl http:///public/pkg/run/attach//attach_node.sh | bash -s – --openapi-token

这里token是一个对的key,而value是当前集群的基本信息。阿里云K8S集群的管控,在接到手动添加已有节点请求的时候,会生成这个对,并把key作为token返回给用户。

这个token(key)存在的价值,是其可以让attach_node.sh脚本,以匿名身份在ECS上索引到集群的基本信息(value),而这些基本信息,对节点准备至关重要。

总体上来说,节点准备就做两件事情,读和写。读即数据收集,写即节点配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值