K8S 集群节点缩容

环境说明:

主机名 IP地址 CPU/内存 角色 K8S版本 Docker版本
k8s231 192.168.99.231 2C4G master 1.23.17 20.10.24
k8s232 192.168.99.232 2C4G woker 1.23.17 20.10.24
k8s233(需下线) 192.168.99.233 2C4G woker 1.23.17 20.10.24

1. K8S 集群节点缩容

        当集群中有闲置或者node因为硬件故障机其他原因需要下线时就需要对集群进行缩容

1.1 查看现有节点信息

kubectl get nodes

如图:

        可以看到当前所有部署在k8s233节点上面的Pod

1.2 驱逐 Pod 并打 SchedulingDisable 标签,但 ds 资源创建的Pod不会驱逐

kubectl drain k8s233 --ignore-daemonsets --delete-emptydir-data

如图:

        之前k8s233节点上的资源被驱逐到其他节点上了

如图:

        ds资源并没有被驱逐

1.3 查看节点被标记为禁用调度状态

#标记当前节点不可调度Pod,那么master组件的scheduler 就不会调度到Pod当前节点
[root@k8s231 /app/manifests/sts]# kubectl get nodes

1.4给需要下线的节点打污点,驱逐已经调度到该节点的所有Pod

1.#打污点,不可调度且驱逐
kubectl taint node k8s233 school=bihuang:NoExecute


2.#查看节点污点
kubectl describe nodes | grep Taints -A 2

注意:

        kube-proxy组件貌似无法被驱逐,因为配置无视污点的属性,所以打任何污点都无效!

1.5 下线节点重置


[root@k8s233 ~]# kubeadm reset –f

[root@k8s233 ~]# rm -rf /etc/cni/net.d && iptables -F && iptables-save 

[root@k8s233 ~]# systemctl disable --now kubelet

1.6 删除节点

[root@k8s231 /app/manifests/sts]# kubectl delete nodes k8s233

1.7 下线节点

节点关机

断电

修机器

随便操作即可

相关推荐

  1. K8S Pod 水平自动扩 HPA

    2024-07-11 00:02:02       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 00:02:02       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 00:02:02       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 00:02:02       4 阅读
  4. Python语言-面向对象

    2024-07-11 00:02:02       8 阅读

热门阅读

  1. Vue 3 组件通信全解:从基础到高级技巧

    2024-07-11 00:02:02       10 阅读
  2. android gradle开发基础

    2024-07-11 00:02:02       8 阅读
  3. 排序算法_冒泡排序

    2024-07-11 00:02:02       7 阅读
  4. std::deque和std::list的区别是什么

    2024-07-11 00:02:02       7 阅读
  5. 华为OD机试(C卷,200分)- 字符串拼接、田忌赛马

    2024-07-11 00:02:02       8 阅读
  6. 如何设置PHP wkhtmltopdf

    2024-07-11 00:02:02       8 阅读
  7. yolov5中训练长条型目标召回率低问题

    2024-07-11 00:02:02       11 阅读