第 9 章 托管 control plane 故障排除
如果您在托管 control plane 时遇到问题,请参阅以下信息来引导您完成故障排除。
9.1. 收集信息以对托管 control plane 进行故障排除
当您需要对托管的 control plane 集群问题进行故障排除时,您可以通过运行 hypershift dump cluster
命令来收集信息。该命令为管理集群和托管集群生成输出。
管理集群的输出包含以下内容:
- 集群范围的资源:这些资源是管理集群的节点定义。
-
hypershift-dump
压缩文件: 如果您需要与其他人员共享内容,该文件非常有用。 - 命名空间资源:这些资源包括来自相关命名空间中的所有对象,如配置映射、服务、事件和日志。
- 网络日志:这些日志包括 OVN 北向和南向数据库和每个数据库的状态。
- 托管的集群:此级别的输出涉及托管集群内的所有资源。
托管集群的输出包含以下内容:
- 集群范围的资源:这些资源包含所有集群范围的对象,如节点和 CRD。
- 命名空间资源:这些资源包括来自相关命名空间中的所有对象,如配置映射、服务、事件和日志。
虽然输出不包含集群中的任何 secret 对象,但它可以包含对 secret 名称的引用。
先决条件
-
您必须具有对管理集群的
cluster-admin
访问权限。 -
您需要
HostedCluster
资源的name
值以及部署 CR 的命名空间。 -
已安装
hcp
命令行界面。如需更多信息,请参阅安装托管的 control plane 命令行界面。 -
已安装 OpenShift CLI (
oc
)。 -
您必须确保
kubeconfig
文件已被加载,并指向管理集群。
流程
要收集故障排除的输出,请输入以下命令:
$ hypershift dump cluster \ --name <hosted_cluster_name> \1 --namespace <hosted_cluster_namespace> \ 2 --dump-guest-cluster \ --artifact-dir clusterDump-<hosted_cluster_namespace>-<hosted_cluster_name>
输出示例
2023-06-06T12:18:20+02:00 INFO Archiving dump {"command": "tar", "args": ["-cvzf", "hypershift-dump.tar.gz", "cluster-scoped-resources", "event-filter.html", "namespaces", "network_logs", "timestamp"]} 2023-06-06T12:18:21+02:00 INFO Successfully archived dump {"duration": "1.519376292s"}
要配置命令行界面,使其通过使用用户名或服务帐户模拟对管理集群的所有查询,请输入带有
--as
标志的hypershift dump cluster
命令。服务帐户必须具有足够的权限来从命名空间中查询所有对象,因此建议
cluster-admin
角色确保有足够的权限。服务帐户必须位于其中,或者具有查询HostedControlPlane
资源命名空间的权限。如果您的用户名或服务帐户没有足够的权限,输出只会包含您有权访问的对象。在此过程中,您可能会看到
forbidden
错误。要使用服务帐户使用模拟,请输入以下命令:
$ hypershift dump cluster \ --name <hosted_cluster_name> \1 --namespace <hosted_cluster_namespace> \2 --dump-guest-cluster \ --as "system:serviceaccount:<service_account_namespace>:<service_account_name>" \ 3 --artifact-dir clusterDump-<hosted_cluster_namespace>-<hosted_cluster_name>
要使用用户名来模拟,请输入以下命令:
$ hypershift dump cluster \ --name <hosted_cluster_name> \1 --namespace <hosted_cluster_namespace> \2 --dump-guest-cluster \ --as "<cluster_user_name>" \ 3 --artifact-dir clusterDump-<hosted_cluster_namespace>-<hosted_cluster_name>