1.2. 运行 must-gather 命令进行故障排除


要进行故障排除,参阅可以使用 must-gather 命令进行调试的用户情景信息,然后使用这个命令进行故障排除。

需要的访问权限:集群管理员

1.2.1. must-gather 情境

  • 场景一: 如果您的问题已被记录,使用 已记录的故障排除文档部分进行解决。这个指南按照产品的主要功能进行组织。

    在这种情况下,您可以参阅本指南来查看您的问题的解决方案是否在文档中。例如,在创建建集群时出现问题,您可能会在这个指南的 管理集群部分中找到解决方案。

  • 情况 2:如果这个指南中没有与您的问题相关的内容,运行 must-gather 命令并使用输出来调试问题。
  • 情况 3:无法使用 must-gather 命令的输出结果无法帮助解决您的问题,请向红帽支持提供您的输出。

1.2.2. must-gather 过程

请参阅以下流程来使用 must-gather 命令:

  1. 了解 must-gather 命令以及按照 Red Hat OpenShift Container Platform 文档中的 收集集群数据 所需的先决条件。
  2. 登录到您的集群。添加用于收集数据和目录的 Red Hat Advanced Cluster Management for Kubernetes 镜像。运行以下命令,在其中提供您要插入的镜像和输出目录:

    oc adm must-gather --image=registry.redhat.io/rhacm2/acm-must-gather-rhel9:v2.12 --dest-dir=<directory>
  3. 对于通常的用例,在登录到您的 hub 集群时运行 must-gather 命令。

    注: 如果要检查受管集群,找到位于 cluster-scoped-resources 目录中的 gather-managed.log 文件:

    <your-directory>/cluster-scoped-resources/gather-managed.log>

    检查 JOINED 和 AVAILABLE 栏没有被设置为 True 的受管集群。您可以在这些没有以 True 状态连接的集群中运行 must-gather 命令。

  4. 进入您指定的目录查看输出。输出以以下级别进行组织:

    • 两个对等级别:cluster-scoped-resourcesnamespace 资源。
    • 每个对等级别下的子类:用于 cluster-scope 和 namespace-scoped 资源的自定义资源定义的 API 组。
    • 每个子类的下一级: 按 kind 进行排序的 YAML 文件。

1.2.3. 在断开连接的环境中的 must-gather

在断开连接的环境中,按照以下步骤运行 must-gather 命令:

  1. 在断开连接的环境中,将 RedHat operator 目录镜像镜像(mirror)到其 mirror registry 中。如需更多信息,请参阅 在断开连接的网络环境中安装
  2. 运行以下命令收集所有信息,将 < 2.x> 替换为 &lt; acm-must-gather& gt; 支持的版本,如 2.10、< multicluster-engine/must-gather>,如 2.5

    REGISTRY=<internal.repo.address:port>
    IMAGE1=$REGISTRY/rhacm2/acm-must-gather-rhel9:v<2.x>
    oc adm must-gather --image=$IMAGE1 --dest-dir=<directory>

如果您在当前支持的某个版本或产品文档时遇到问题,请访问 红帽支持,您可以在其中进行故障排除、查看知识库文章、与支持团队连接,或者创建一个问题单。您必须使用您的红帽凭证登录。

1.2.4. 托管集群的 must-gather

如果您在托管 control plane 集群时遇到问题,您可以运行 must-gather 命令来收集信息,以帮助您进行故障排除。

1.2.4.1. 关于托管集群的 must-gather 命令

该命令为受管集群和托管集群生成输出。

  • 来自多集群引擎 operator hub 集群的数据:

    • 集群范围的资源:这些资源是管理集群的节点定义。
    • hypershift-dump 压缩文件:如果您需要与其他人员共享内容,则此文件很有用。
    • Namespaced resources :这些资源包括相关命名空间中的所有对象,如配置映射、服务、事件和日志。
    • 网络日志:这些日志包括 OVN 北向和南向数据库和南向数据库和各个日志的状态。
    • 托管的集群 :此输出级别涉及托管集群中的所有资源。
  • 来自托管集群的数据:

    • 集群范围资源 :这些资源包括所有集群范围的对象,如节点和 CRD。
    • Namespaced resources :这些资源包括相关命名空间中的所有对象,如配置映射、服务、事件和日志。

虽然输出不包含集群中的任何 secret 对象,但它可以包含对 secret 的名称的引用。

1.2.4.2. 先决条件

要运行 must-gather 命令来收集信息,您必须满足以下先决条件:

  • 您必须确保 kubeconfig 文件已加载,并指向 multicluster engine operator hub 集群。
  • 您必须具有 multicluster engine operator hub 集群的 cluster-admin 访问权限。
  • 您必须具有 HostedCluster 资源的 name 值,以及部署自定义资源的命名空间。

1.2.4.3. 为托管集群输入 must-gather 命令

  1. 输入以下命令收集有关托管集群的信息。在命令中,hosted-cluster-namespace=HOSTEDCLUSTERNAMESPACE 参数是可选的;如果您没有包括它,则命令像托管集群位于默认命名空间中一样,即 集群

    oc adm must-gather --image=quay.io/stolostron/backplane-must-gather:SNAPSHOTNAME /usr/bin/gather hosted-cluster-namespace=HOSTEDCLUSTERNAMESPACE hosted-cluster-name=HOSTEDCLUSTERNAME
  2. 要将命令的结果保存到压缩文件中,请包含 --dest-dir= NAME 参数,将 NAME 替换为您要保存结果的目录的名称:

    oc adm must-gather --image=quay.io/stolostron/backplane-must-gather:SNAPSHOTNAME /usr/bin/gather hosted-cluster-namespace=HOSTEDCLUSTERNAMESPACE hosted-cluster-name=HOSTEDCLUSTERNAME --dest-dir=NAME ; tar -cvzf NAME.tgz NAME

1.2.4.4. 在断开连接的环境中输入 must-gather 命令

在断开连接的环境中,按照以下步骤运行 must-gather 命令:

  1. 在断开连接的环境中,将 RedHat operator 目录镜像镜像(mirror)到其 mirror registry 中。如需更多信息,请参阅 在断开连接的网络环境中安装
  2. 运行以下命令以提取日志,从其 mirror registry 中引用镜像:

    REGISTRY=registry.example.com:5000
    IMAGE=$REGISTRY/multicluster-engine/must-gather-rhel8@sha256:ff9f37eb400dc1f7d07a9b6f2da9064992934b69847d17f59e385783c071b9d8
    
    oc adm must-gather --image=$IMAGE /usr/bin/gather hosted-cluster-namespace=HOSTEDCLUSTERNAMESPACE hosted-cluster-name=HOSTEDCLUSTERNAME --dest-dir=./data

1.2.4.5. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.