×

使用PerformanceProfile自定义资源 (CR) 状态字段来报告调整状态和调试集群节点中的延迟问题。

调试低延迟CNF调整状态

PerformanceProfile自定义资源 (CR) 包含用于报告调整状态和调试延迟下降问题的状态字段。这些字段报告描述操作符协调功能状态的条件。

当附加到性能配置文件的机器配置池的状态处于降级状态时,可能会出现典型问题,导致PerformanceProfile状态降级。在这种情况下,机器配置池会发出错误消息。

节点调整操作符包含performanceProfile.spec.status.Conditions状态字段

Status:
  Conditions:
    Last Heartbeat Time:   2020-06-02T10:01:24Z
    Last Transition Time:  2020-06-02T10:01:24Z
    Status:                True
    Type:                  Available
    Last Heartbeat Time:   2020-06-02T10:01:24Z
    Last Transition Time:  2020-06-02T10:01:24Z
    Status:                True
    Type:                  Upgradeable
    Last Heartbeat Time:   2020-06-02T10:01:24Z
    Last Transition Time:  2020-06-02T10:01:24Z
    Status:                False
    Type:                  Progressing
    Last Heartbeat Time:   2020-06-02T10:01:24Z
    Last Transition Time:  2020-06-02T10:01:24Z
    Status:                False
    Type:                  Degraded

Status字段包含指定Type值的Conditions,这些值指示性能配置文件的状态

可用

所有机器配置和Tuned配置文件都已成功创建,并可供负责处理它们的集群组件使用(NTO、MCO、Kubelet)。

可升级

指示操作符维护的资源是否处于安全升级状态。

进行中

指示性能配置文件的部署过程已启动。

降级

如果以下情况发生则表示错误

  • 性能配置文件验证失败。

  • 所有相关组件的创建未成功完成。

这些类型中的每一个都包含以下字段

状态

特定类型的状态(truefalse)。

时间戳

事务时间戳。

原因字符串

机器可读的原因。

消息字符串

描述状态和错误详细信息(如有)的人类可读原因。

机器配置池

根据关联的机器配置池 (MCP),将性能配置文件及其创建的产品应用于节点。MCP 包含有关应用由性能配置文件创建的机器配置的进度(包括内核参数、kube 配置、巨页分配和 rt 内核部署)的有价值信息。性能配置文件控制器监视 MCP 中的变化,并相应地更新性能配置文件状态。

MCP 返回到性能配置文件状态的唯一条件是 MCP 为降级时,这会导致performanceProfile.status.condition.Degraded = true

示例

以下示例介绍一个性能配置文件及其关联的机器配置池 (worker-cnf)。

  1. 关联的机器配置池处于降级状态。

    # oc get mcp
    示例输出
    NAME         CONFIG                                                 UPDATED   UPDATING   DEGRADED   MACHINECOUNT   READYMACHINECOUNT   UPDATEDMACHINECOUNT   DEGRADEDMACHINECOUNT   AGE
    master       rendered-master-2ee57a93fa6c9181b546ca46e1571d2d       True      False      False      3              3                   3                     0                      2d21h
    worker       rendered-worker-d6b2bdc07d9f5a59a6b68950acf25e5f       True      False      False      2              2                   2                     0                      2d21h
    worker-cnf   rendered-worker-cnf-6c838641b8a08fff08dbd8b02fb63f7c   False     True       True       2              1                   1                     1                      2d20h
  2. MCP 的 describe 部分显示了原因。

    # oc describe mcp worker-cnf
    示例输出
      Message:               Node node-worker-cnf is reporting: "prepping update:
      machineconfig.machineconfiguration.openshift.io \"rendered-worker-cnf-40b9996919c08e335f3ff230ce1d170\" not
      found"
        Reason:                1 nodes are reporting degraded status on sync
  3. 降级状态也应该显示在性能配置文件的 status 字段中,标记为 degraded = true

    # oc describe performanceprofiles performance
    示例输出
    Message: Machine config pool worker-cnf Degraded Reason: 1 nodes are reporting degraded status on sync.
    Machine config pool worker-cnf Degraded Message: Node yquinn-q8s5v-w-b-z5lqn.c.openshift-gce-devel.internal is
    reporting: "prepping update: machineconfig.machineconfiguration.openshift.io
    \"rendered-worker-cnf-40b9996919c08e335f3ff230ce1d170\" not found".    Reason:  MCPDegraded
       Status:  True
       Type:    Degraded

为 Red Hat 支持收集低延迟调整调试数据

打开支持案例时,向 Red Hat 支持提供有关集群的调试信息非常有用。

must-gather 工具使您可以收集有关 OpenShift Container Platform 集群的诊断信息,包括节点调整、NUMA 拓扑结构以及调试低延迟设置问题所需的其它信息。

为了获得及时的支持,请提供 OpenShift Container Platform 和低延迟调整的诊断信息。

关于 must-gather 工具

oc adm must-gather CLI 命令收集集群中调试问题最可能需要的的信息,例如:

  • 资源定义

  • 审计日志

  • 服务日志

运行命令时,您可以通过包含 --image 参数来指定一个或多个镜像。指定镜像时,该工具会收集与该特性或产品相关的数据。运行 oc adm must-gather 时,会在集群上创建一个新的 Pod。数据会在该 Pod 上收集,并保存在一个新的目录中,该目录以 must-gather.local 开头。此目录将创建在您的当前工作目录中。

收集低延迟调整数据

使用 oc adm must-gather CLI 命令收集有关集群的信息,包括与低延迟调整相关的功能和对象,包括:

  • 节点调整操作符命名空间和子对象。

  • MachineConfigPool 和关联的 MachineConfig 对象。

  • 节点调整操作符和关联的 Tuned 对象。

  • Linux 内核命令行选项。

  • CPU 和 NUMA 拓扑结构

  • 基本 PCI 设备信息和 NUMA 位置。

先决条件
  • 作为具有 cluster-admin 角色的用户访问集群。

  • 已安装 OpenShift Container Platform CLI (oc)。

步骤
  1. 导航到要存储 must-gather 数据的目录。

  2. 运行以下命令收集调试信息:

    $ oc adm must-gather
    示例输出
    [must-gather      ] OUT Using must-gather plug-in image: quay.io/openshift-release
    When opening a support case, bugzilla, or issue please include the following summary data along with any other requested information:
    ClusterID: 829er0fa-1ad8-4e59-a46e-2644921b7eb6
    ClusterVersion: Stable at "<cluster_version>"
    ClusterOperators:
    	All healthy and stable
    
    
    [must-gather      ] OUT namespace/openshift-must-gather-8fh4x created
    [must-gather      ] OUT clusterrolebinding.rbac.authorization.k8s.io/must-gather-rhlgc created
    [must-gather-5564g] POD 2023-07-17T10:17:37.610340849Z Gathering data for ns/openshift-cluster-version...
    [must-gather-5564g] POD 2023-07-17T10:17:38.786591298Z Gathering data for ns/default...
    [must-gather-5564g] POD 2023-07-17T10:17:39.117418660Z Gathering data for ns/openshift...
    [must-gather-5564g] POD 2023-07-17T10:17:39.447592859Z Gathering data for ns/kube-system...
    [must-gather-5564g] POD 2023-07-17T10:17:39.803381143Z Gathering data for ns/openshift-etcd...
    
    ...
    
    Reprinting Cluster State:
    When opening a support case, bugzilla, or issue please include the following summary data along with any other requested information:
    ClusterID: 829er0fa-1ad8-4e59-a46e-2644921b7eb6
    ClusterVersion: Stable at "<cluster_version>"
    ClusterOperators:
    	All healthy and stable
  3. 从工作目录中创建的 must-gather 目录创建一个压缩文件。例如,在使用 Linux 操作系统的计算机上,运行以下命令:

    $ tar cvaf must-gather.tar.gz must-gather-local.5421342344627712289(1)
    1 must-gather-local.5421342344627712289// 替换为 must-gather 工具创建的目录名。

    创建一个压缩文件,将数据附加到支持案例,或在创建性能配置文件时与性能配置文件创建器包装器脚本一起使用。

  4. 将压缩文件附加到 Red Hat 客户门户 上的支持案例。