EKS实现自动扩容的方式有很多种
本文就是利用asg的负载监控机制来实现扩容效果的,废话不多说上图
- 前提要求:
一个eks集群,一个(子管理或者托管)的节点组
如图
1.ASG管理页面
编辑对应的asg
ASG功能强大,能够通过web页面管理你的节点组,数量:min,max 删除保护,扩容机制等等
配置通知模块,随时知晓asg动态
2.设置对应的节点数量
(慎重,可能重载现有的节点组)
先设置删除保护,便利后面恢复节点
3.添加负载监控扩容机制(可以选择只扩展不缩减保证服务不中断)
4.增加集群负载验证效果
测试自动扩容:最简单的办法将阈值设置成5以下,肯定是立马就触发的
由于配置了不缩减机制 所以需要运维成员在下线的过渡期驱逐新node,恢复到最开始的4台
下面开始介绍如何恢复节点组状态
5.待负载正常后恢复成初始节点组状态,删除新生节点
a.集群中新生节点驱逐pod
根据时间区别新生node
kubectl cordon <node1> #设置不可调度 kubectl cordon <node2>
kubectl drain <node1> --ignore-daemonsets #驱逐pod kubectl drain <node2> --ignore-daemonsets
b.命令行或者web页面缩减节点组数量
有一定延迟性多执行后等待一会,建议web页面操作
删除节点前先禁用自动扩容功能
设置完就能看到正常删除节点状态
查看数量
所有操作完成后建议 '关闭删除保护' 以及 '打开自动扩容' ,上线系统
删除保护可能会影响k8s节点自愈功能
打开负载检测自动扩容机制