zoukankan      html  css  js  c++  java
  • k8s node节点维护

    一、node节点维护流程

    1. 对k8s集群资源进行梳理,先确认集群资源是否允许进行该操作
    2. 若集群资源不足,可加入新的node节点之后再进行维护操作
    3. 确认无资源问题后进行pod驱逐:kubelet drain  <node_name>(
    4. 检查对应节点状态是否处于SchedulingDisabled
    5. 检查node上是否无pod运行,切被驱逐的pod已经在其他节点运行正常
    6. 确认状态为SchedulingDisabled,且pod已经在其他节点运行正常后执行后续操作
    7. 关闭集群相关服务及docker服务
    8. 关机维护
    9. 开机启动相关服务(注意启动顺序)
    10. 解除node节点不可调度:kubectl uncordon node
    11. 创建测试pod,并使用节点标签测试节点可以被正常调度

    二、kubernetes处理node的命令详解(cordon、drain、delete node区别)

    1. 主要目的:导致node处于不可调度状态,新创建的pod容器不会调度在node上。
    2. cordon:将node置为SchedulingDisabled不可调度状态,后续的新创建pod容器时scheduler调度不会考虑该node旧的pod容器不会正常受影响,仍可以对外提供正常服务。(特殊情况:pod容器如果跟node绑定的话,容器下次更新就不会回到原宿主机,该情况如何处理呢?可能设置成不可调度状态就不太合适。调度器 预调度策略)
      恢复调度  kubectl uncordon node
    3. drain 驱逐节点:设置该node为不可调度状态 cordon,驱逐node节点上pod,使其在其他节点上创建。gracefully terminate all pods
      恢复调度 kubectl uncordon node
    4. delete 节点:delete node后 kubernetes集群管控端获取不到node信息。master节点删除该node,失去对其控制,master不可对其恢复驱逐node上的pod容器。(如何驱赶呢?参考 https://blog.csdn.net/li_101357/article/details/89606269 ,主要是podGCcontroller来做这件事情)  疑问是:master删除node了,GC怎么删除呢?强制删除
      恢复调度,需要进入node节点,重新加入集群




  • 相关阅读:
    HDU 5585 Numbers
    HDU 3308 LCIS
    POJ 2991 Crane
    POJ 1436 Horizontally Visible Segments
    POJ 3667 Hotel
    HaiHongOJ 1003 God Wang
    【SDOI 2008】 递归数列
    5月19日省中提高组题解
    【HDU 1588】 Gauss Fibonacci
    【POJ 3233】Matrix Power Series
  • 原文地址:https://www.cnblogs.com/jayce9102/p/12298226.html
Copyright © 2011-2022 走看看