kubernetes Node的隔离与恢复

        在硬件升级、硬件维护等情况下,我们需要将某些Node进行隔离,脱离Kubernetes集群的调度范围。Kubernetes提供了一种机制,既可以将Node纳入调度范围,也可以将Node脱离调度范围。

        创建配置文件 unschedule_node.yaml,在spec部分指定 unschedulable为true:

        apiVersion:  V1

        kind:  Node

        metadata:

            name:  kubernetes-minion1

            lables:

                kubernetes.io/hostname:  kubernetes-minion1

        spec:

           unschedulable:  true

        然后,通过 kubectl replace 命令完成对 Node 状态的修改:

       $ kubectl replace -f unschedule_node.yaml

        nodes/kubernetes-minion1

        查看 Node 的状态,可以观察到在Node的状态中增加了一项SchedulingDisabled:

        $ kubectl get nodes

        NAME                             LABLES                                                                            STATUS

        kubernetes-minion1     kubernetes.io/hostname:  kubernetes-minion1              Ready,SchedulingDisabled

        对于后续创建的 pod ,系统将不会再向改 Node 进行调度。

        另一种方法是不使用配置文件,直接使用 kubectl patch命令完成:

        $ kubectl patch node kubernetes-minion1 -p ' { " spec : { " unschedulable " : true } " } '

        需要注意的是,将某个 Node 脱离调度范围时,在其上运行的pod并不会自动停止,管理员需要手动停止在该 Node 上运行的 Pod。

        同样,如果需要将某个 Node 重新纳入集群调度范围,则将 unschedulable 设置为 false,再次执行 kubectl replace 或 kubectl patch 命令就能恢复系统对改 Node 的调度。


        引用 <<kubernetes权威指南>>

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值