二十九、Kubernetes运维管理

一、Node管理

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

1. Node的隔离与恢复

1) kubectl cordonkubectl uncordon

这是最直接的操作,用于控制节点是否接受新的 Pod 调度。

示例:

  • 将节点标记为不可调度:

    kubectl cordon <node-name>
    

    这将防止新的 Pod 被调度到 <node-name> 上,但已经在该节点上的 Pod 不受影响

  • 将节点标记为可调度:

    kubectl uncordon <node-name>
    

    恢复节点的调度能力,新的 Pod 可以再次调度到 <node-name> 上。

使用场景:

  • 用于节点的临时维护,确保节点暂时不接收新 Pod。例如,在进行硬件升级或临时调整时,你可能不希望新的 Pod 被调度到这个节点。

2) taintstolerations

taintstolerations 提供了精确的控制,允许你根据特定条件来控制哪些 Pod 能调度到哪些节点。

示例:

  • 在节点上添加污点(Taint):

    kubectl taint nodes <node-name> key=value:NoSchedule
    

    这会在节点 <node-name> 上添加一个污点,键值对为 key=value,并设置为 NoSchedule,意味着没有容忍这个污点的 Pod 将无法调度到该节点。

  • 在 Pod 上添加容忍(Toleration):

    apiVersion: v1
    kind: Pod
    metadata:
      name: mypod
    spec:
      tolerations:
      - key: "key"
        operator: "Equal"
        value: "value"
        effect: "NoSchedule"
    

    这个 Pod 会容忍节点上的 key=value:NoSchedule 污点,允许它调度到这些节点上。

使用场景:

  • 如果你有一个特殊的节点(比如 GPU 节点),你可以通过 taints 让只有特定的 Pod 才能调度到该节点。这适用于资源隔离或者需要特殊硬件的场景。

3)kubectl drain

kubectl drain 用于节点维护时,优雅地清空节点上的 Pod,确保它们能够被重新调度到其他节点。

示例:

  • 清空节点上的 Pod:

    kubectl drain <node-name> --ignore-daemonsets --delete-local-data
    
    • --ignore-daemonsets: 忽略 DaemonSet 管理的 Pod,不会删除这些 Pod。
    • --delete-local-data: 删除节点上存储的本地数据。

    这将驱逐 <node-name> 上的所有非 DaemonSet 管理的 Pod,并把它们重新调度到其他节点上。

使用场景:

  • 当你需要进行节点维护(如硬件升级、操作系统升级等),你可以使用 kubectl drain 清空节点上的所有 Pod,并确保它们能够被自动调度到其他节点。

4)资源配额(Resource Quotas)

通过设置资源配额(Resource Quotas),可以控制命名空间中的 Pod 使用的资源,从而间接影响调度。配额可以限制资源的请求和限制值,影响 Pod 的调度。

示例:

  • 设置资源配额:

    apiVersion: v1
    kind: ResourceQuota
    metadata:
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cyan_Jiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值