开发者学堂课程【5分钟玩转阿里云容器服务:弹性-节点弹性】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1038/detail/15348
弹性-节点弹性
内容介绍
一、弹性-节点弹性
一、弹性-节点弹性
通过今天的内容能够掌握如何使用 cluster-autoscale,实现集群节点的自动扩缩容。
以一个 demo 的形式为展示如何在容器服务控制台上使用 cluster-autoscale了,以实现集群节点的自动扩缩容,
使用 cluster-autoscale 的前提是有一个已经正常运行的 k8s 集群。
有了这个集群以后,就可以对 cluster-autoscale 进行自定义的一些配置。
那自定配置的入口在节点池页面的集群自动弹性伸缩配置页面,首先有一个授权提示,如果没有进行这两个必要权限的授权,可以通过链接进行简化的授权如果已经完成,那和这个账号一样点已完成就好。然后可以看到诸多弹性配置的一个选项,按照自己的需求进行配置即可。
配置好后进行提交,提交后可以看到配置已经展示出来了,然后需要的做的是创建一个或者一个以上的开启自动伸缩的节点时,开启自动伸缩的节点池的创建过程和普通节点池基本一致,需要注意的是自动伸缩这一个选项必须开启。然后对这个节点词所需要的实例类型进行一个选择,然后需要注意的是实际数量这里最小时率数和最大时的数,保证了这个节点池的一个节点数,用的范围,高级选项中有污点节点标签,搜索模式等相关的配置。
也可以按照需要配置,配置好后点击确认配置,然后二次确认。
稍等片刻,可以看到开启自动伸缩的节点池已经创建成功。
这个时候 cluster-autoscale,已经在的 kuse-system 这个命名空间中正常运行,可以进行二次的确认。
然后来展示一个节点自动扩容的一个过程。首先需要去构造一个不可调度的 pose 的一个过程。
那已经创建了一个 deployment,这个 deployment 目前的容器组数量是0,那让它伸缩到12,从中到12的时候,会发现有部分的 put 是没法调度的,给出的 reason是 CPU 的资源不够了,那预期的是希望的自动伸缩在这种场景下能发挥效用,能够弹出结点,以满足这三个目前还没有办法调度上的 pose,然后让他们正常的运行。
可以回到节点池页面,可以看到 autuscaler 已经触发了这个自动伸缩节点池的一个扩容,在节点管理下面可以看到这个实力已经在运行中,而节点状态还是离线,这是一个加入中的过程,需要等待片刻。好的,已经看到节点状态已经就绪了。
看一下刚才pending pose 是否已经调度到就绪的节点上了呢?再次刷新 k 看到这三个 pending pose 已经处于content creating 的状态。
也就是说他们已经调入到新的他弹出的节点上了,看可以看到都在172.27.35.216这个新扩容出的节点上,再次刷新页面,看到他们已经正常运行了。
刚刚这一个节点的扩容,是因为把 deployment 调到了12,然后集群中的资源出现了不足的情况下进行了扩容。那进行反向操作,把这个12再次缩到0,然后预期的是希望刚刚弹出的节点,因为集群中的资源已经足够,然后会进行一个缩容。
回到节点池页面来观察一下速溶活动中是否会出现一个缩容的活动,可以看到速溶活动已经产生,然后说到的就是刚才弹出的那个节点,可以看到节能管理这个页面这个节点已经被缩掉的一个状态。
支持的实现 cluster-autoscale 集群节点的自动化扩缩容,就以这个 demo 展示完毕。