如何基于k8s集群扩缩容操作进行Takin发压操作 k8s是开源的,用于管理云平台中多个主机的容器化的应用,相较于传统虚拟机,容器占用资源少、部署快,更轻量、更“透明”,更便于监控和管理,这也是为什么它会应用的如此之广,成为目前主流的部署容器化应用。 想要进行全链路压测,发压操作是必不可少的,今天就来说说如何基于k8s集群扩缩容操作进行发压操作。
背景说明
- 本文档只适用于已部署了k8s1.18.3以上集群
- 以下操作步骤建议由运维进行操作;
扩容操作步骤
1. 梳理k8s集群对应的IP列表;
2. 准备需要扩容的机器
- 增加新的机器,机器数量和机器配置根据实际需要判定;
- 梳理需要新增的扩容机器的IP列表
- 通过k8s-node01可以免密ssh登录(root用户)新增的机器;
3. 登录到k8s-master01机器
4. 找到k8s的安装包目录,一般在/data/k8s_pkg这个目录下;
- 在当前目录下可以查看到文件“new_node_list”
- 在当前目录下可以查看到文件“add_node.sh”
5.修改new_node_list的内容,新增扩容机器的IP
- 将步骤2中准备好的IP复制到文件“new_node_list”,每行只有一个IP,IP之间不能存在空白行;
- 已经存在的node节点需要删除;
6.执行扩容命令;
- 加入节点命令:sh add_node.sh new_node_list
- 执行成功后会返回“部署完成。。。”
缩容操作步骤
1、登录到master01机器
2、查看当前节点信息
[root@shulie-prod-k8s-master01 ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION 192.168.100.236 Ready <none> 261d v1.18.3 192.168.100.237 Ready <none> 261d v1.18.3 192.168.100.238 Ready <none> 261d v1.18.3
3、确定要摘除的节点
假设你希望摘除192.168.100.238
4、执行摘除节点的命令(有2种方式)
方式一:
- 清除当前运行在该节点上的任务
命令:kubectl drain 192.168.100.238 –delete-local-data –force –ignore-daemonsets 成功运行结果:node/192.168.100.238 cordoned
- 将该节点设置为不可调度模式
命令:kubectl cordon 192.168.100.238
ps:这种方式想要恢复节点可以执行kubectl uncordon 192.168.100.238将该节点重新设置为可调度模式;
方式二:
- 清除当前运行在该节点上的任务
命令:kubectl drain 192.168.100.238 –delete-local-data –force –ignore-daemonsets 成功运行结果:node/192.168.100.238 cordoned
- 删除node节点
#kubectl delete node 192.168.100.238 显示:node “192.168.100.238” deleted
ps:这种方式想要恢复节点必须重新进行扩容操作
本文来自投稿,不代表TakinTalks稳定性技术交流平台立场,如若转载,请联系原作者。