1.2. 运行 must-gather 命令进行故障排除
要进行故障排除,参阅可以使用 must-gather
命令进行调试的用户情景信息,然后使用这个命令进行故障排除。
需要的访问权限:集群管理员
1.2.1. must-gather 情境
场景一: 如果您的问题已被记录,使用 已记录的故障排除文档部分进行解决。这个指南按照产品的主要功能进行组织。
在这种情况下,您可以参阅本指南来查看您的问题的解决方案是否在文档中。例如,在创建建集群时出现问题,您可能会在这个指南的 管理集群部分中找到解决方案。
-
情况 2:如果这个指南中没有与您的问题相关的内容,运行
must-gather
命令并使用输出来调试问题。 -
情况 3:无法使用
must-gather
命令的输出结果无法帮助解决您的问题,请向红帽支持提供您的输出。
1.2.2. must-gather 过程
请参阅以下流程来使用 must-gather
命令:
-
了解
must-gather
命令以及按照 Red Hat OpenShift Container Platform 文档中的 收集集群数据 所需的先决条件。 登录到您的集群。添加用于收集数据和目录的 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>
对于通常的用例,在登录到您的 hub 集群时运行
must-gather
命令。注: 如果要检查受管集群,找到位于
cluster-scoped-resources
目录中的gather-managed.log
文件:<your-directory>/cluster-scoped-resources/gather-managed.log>
检查 JOINED 和 AVAILABLE 栏没有被设置为
True
的受管集群。您可以在这些没有以True
状态连接的集群中运行must-gather
命令。进入您指定的目录查看输出。输出以以下级别进行组织:
-
两个对等级别:
cluster-scoped-resources
和namespace
资源。 - 每个对等级别下的子类:用于 cluster-scope 和 namespace-scoped 资源的自定义资源定义的 API 组。
-
每个子类的下一级: 按
kind
进行排序的 YAML 文件。
-
两个对等级别:
1.2.3. 在断开连接的环境中的 must-gather
在断开连接的环境中,按照以下步骤运行 must-gather
命令:
- 在断开连接的环境中,将 RedHat operator 目录镜像镜像(mirror)到其 mirror registry 中。如需更多信息,请参阅 在断开连接的网络环境中安装。
运行以下命令收集所有信息,将 <
2.x> 替换为 <
;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 命令
输入以下命令收集有关托管集群的信息。在命令中,
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
要将命令的结果保存到压缩文件中,请包含
--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
命令:
- 在断开连接的环境中,将 RedHat operator 目录镜像镜像(mirror)到其 mirror registry 中。如需更多信息,请参阅 在断开连接的网络环境中安装。
运行以下命令以提取日志,从其 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. 其他资源
- 有关托管 control plane 故障排除的更多信息,请参阅 OpenShift Container Platform 文档中的 托管 control plane 故障排除。