10.2. 手动为自动卷分离添加 out-of-service 污点


先决条件

  • 使用 cluster-admin 权限访问集群。

流程

允许卷在非正常节点关闭后自动从节点分离:

  1. 节点检测到不健康后,关闭 worker 节点。
  2. 运行以下命令检查状态,确保节点已关闭:

    $ oc get node <node_name> 
    1
    Copy to Clipboard Toggle word wrap
    1
    <NODE_NAME> = 关闭非正常的节点的名称
    重要

    如果节点没有完全关闭,请不要继续污点该节点。如果节点仍处于 up 状态并且应用了污点,则可能会出现文件系统崩溃。

  3. 运行以下命令来污点对应的节点对象:

    重要

    以这种方式污点节点会删除该节点上的所有 pod。这也会导致任何由 statefulsets 支持的 pod 被驱除,并在不同的节点上创建替换 pod。

    $ oc adm taint node <node_name> node.kubernetes.io/out-of-service=nodeshutdown:NoExecute 
    1
    Copy to Clipboard Toggle word wrap
    1
    <NODE_NAME> = 关闭非正常的节点的名称

    应用污点后,卷将从关闭节点分离,允许将其磁盘附加到其他节点。

    Example

    生成的 YAML 文件类似如下:

    spec:
      taints:
      - effect: NoExecute
        key: node.kubernetes.io/out-of-service
        value: nodeshutdown
    Copy to Clipboard Toggle word wrap
  4. 重启该节点。
  5. 运行以下命令,从对应的节点对象中删除污点:

    $ oc adm taint node <node_name> node.kubernetes.io/out-of-service=nodeshutdown:NoExecute- 
    1
    Copy to Clipboard Toggle word wrap
    1
    <NODE_NAME> = 关闭非正常的节点的名称
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat