获取有关您集群的帮助和支持
查找支持选项、故障排除资源以及获取集群帮助的方法。
在打开支持案例之前,请收集有关集群环境的相关信息。
寻找诊断和调试工具? 该插件已不再受支持。 IBM Cloud Monitoring 建议用于监控和诊断群集中的问题。 其他可能相关的故障排除链接包括:对处于临界或 NotReady 状态的工作节点进行故障排除,以及对 IBM Cloud Kubernetes Service 中的应用程序进行故障排除。
获取群组详情
-
获取集群详细信息。
ibmcloud oc cluster get -c CLUSTER_NAME_OR_ID -
如果问题涉及工作程序节点,请获取工作程序节点详细信息。
- 列出集群中的所有工作程序节点,并记下处于不正常 状态 或 状态的任何工作程序节点的 标识。
ibmcloud oc worker ls -c CLUSTER_NAME_OR_ID ``` 2. 获取运行状况不佳的工作程序节点的详细信息。 ```sh {: pre} ibmcloud oc worker get -w WORKER_ID -c CLUSTER_NAME_OR_ID ``` -
对于集群中资源 (例如 pod 或服务) 的问题,请登录到集群并使用 Kubernetes API 来获取有关这些资源的更多信息。
收集错误日志和其他信息
运行 must-gather 命令
oc adm must-gather CLI 命令收集群集信息,用于调试问题。 该工具必须收集资源定义、服务日志等。 请注意,审计日志不作为默认信息集的一部分收集,以减小文件的大小。
运行 oc adm must-gather 时,会在群集上的一个新项目中创建一个名称随机的新 pod。 数据在该 pod 上收集,并保存在一个以 must-gather.local 开头的新目录中。
请查看以下示例命令。
oc adm must-gather
示例命令,要收集与一个或多个特定特征相关的数据,请使用 --image 参数和特定图像。
oc adm must-gather \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.17.5
收集审计日志的示例命令。
oc adm must-gather -- /usr/bin/gather_audit_logs
在特定命名空间中运行 must-gather 的示例命令。
oc adm must-gather --run-namespace NAMESPACE \
--image=registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel9:v4.17.5
收集特定时间日志的示例命令。
oc adm must-gather --since=24h
oc adm must-gather --since-time=$(date -d '-24 hours' +%Y-%m-%dT%T.%9N%:z )
收集网络日志的示例命令。
oc adm must-gather -- gather_network_logs
如需更多示例和参数,请运行以下命令
oc adm must-gather -h
从必须收集目录创建压缩文件的示例命令。
tar cvaf must-gather.tar.gz must-gather.local.5421342344627712289/
将压缩文件附在您的支持案例中。
收集 SOS 报告
sosreport 是一款从 (RHEL) 和 (RHCOS) 系统中收集配置详情、系统信息和诊断数据的工具。Red Hat Enterprise Linux Red Hat Enterprise Linux CoreOS 它提供了一种收集与节点有关的诊断信息的标准化方法,可将这些信息提供给支持人员进行问题诊断。
在某些支持交互中,支持人员可能会要求您收集特定 OpenShift Container Platform 节点的 sosreport 存档。 例如,可能需要查看 oc adm must-gather 输出中未包含的系统日志或其他特定节点数据。
收集 sosreport 的方法因工作节点的操作系统而异。 RHCOS 节点使用 toolbox 命令。 RHEL 8 和 RHEL 9 节点不支持 toolbox``;请改用 Red Hat 该 sosreport 脚本。
为 OpenShift Container Platform 集群节点生成 sosreport 的推荐方法是通过调试 pod。
-
请列出您的工作节点,以便确定目标节点及其操作系统。
oc get nodes -o wide请记下您要从中收集
sosreport的 worker 节点的名称。 OS-IMAGE 列用于指示该节点运行的是 RHCOS 还是 RHEL。 -
在目标节点上启动一个调试会话。
oc debug node/node_name要在受
NoExecute影响的目标节点上进入调试会话,可在临时命名空间中添加容忍度,并在临时命名空间中启动调试 pod。oc new-project temp oc patch namespace temp --type=merge -p '{"metadata": {"annotations": { "scheduler.alpha.kubernetes.io/defaultTolerations": "[{\"operator\": \"Exists\"}]"}}}'oc debug node/my-cluster-node -
将
/host设置为调试 shell 的根目录。 调试 Pod 将主机的根文件系统挂载到 Pod 内的/host目录下。 通过将根目录更改为/host,您可以运行主机可执行路径中包含的二进制文件。chroot /hostOpenShift Container Platform 运行 Red Hat Enterprise LinuxCoreOS (RHCOS)的集群节点不可变,依赖Operators来应用集群变更。 不建议使用 SSH 访问群集节点。 然而,如果目标节点上无法使用 OpenShift Container Platform API,或kubelet运行异常,则可能影响oc操作。 在这种情况下,可以改用
ssh core@NODE.CLUSTER_NAME.BASE_DOMAIN访问节点。 -
请根据工作节点的操作系统,采用相应的方法收集
sosreport。-
RHCOS 节点:请使用
toolbox命令。-
启动工具箱容器,其中包括运行
sosreport所需的二进制文件和插件。toolbox命令仅在RHCOS节点上受支持。toolbox如果现有的工具箱 pod 已在运行,则工具箱命令会输出
'toolbox-' already exists. Trying to start….删除正在运行的工具箱容器(podman rm toolbox-),并启动一个新的工具箱容器。 -
运行
sos report命令并按照提示收集故障排除数据。sos report -k crio.all=on -k crio.logs=on -k podman.all=on -k podman.logs=on在报告中包含节点的 OVN- Kubernetes 网络配置信息的示例命令。
sos report --all-logssosreport的输出结果会显示归档文件的位置和校验和。 以下示例输出引用了支持案例 ID 01234567。 该文件路径位于chroot环境之外,因为工具箱容器将主机的根目录挂载到了/host。Your sosreport has been generated and saved in: /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz The checksum is: 382ffc167510fd71b4f12a4f40b97a4e
-
-
RHEL 8 和 RHEL 9 节点:RHEL 节点不支持
toolbox命令。 请改用 Red Hat 中的sosreport收集脚本。-
请按照 知识库文章 Red Hat 中的说明,下载并运行 Red Hat 的sosreport脚本。
-
请按照脚本中的提示收集故障排除数据。 请根据脚本输出信息,记下生成的压缩文件的位置。
-
-
-
将
sosreport输出到文件。调试容器将主机的根目录挂载到了
/host。 在指定待拼接的目标文件时,请以调试容器的根目录为基准,使用包含/host的绝对路径。oc debug node/my-cluster-node -- bash -c 'cat /host/var/tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xz' > /tmp/sosreport-my-cluster-node-01234567-2020-05-28-eyjknxt.tar.xzOpenShift Container Platform 运行 Red Hat Enterprise LinuxCoreOS (RHCOS)的集群节点不可变,依赖Operators来应用集群变更。 不建议使用
scp从群集节点传输sosreport存档。 然而,如果目标节点上无法使用 OpenShift Container Platform API,或kubelet运行异常,oc则操作可能会受到影响。 在这种情况下,可以通过运行scp core@<node>.<cluster_name>.<base_domain>:<file_path> <local_path>从节点复制sosreport存档。 -
将文件上传到您的支持案例。
打开支持案例
-
通过 打开案例来联系 IBM 支持人员。
-
对于 问题类型,搜索或选择 Red Hat OpenShift on IBM Cloud。
-
对于 案例详细信息,请提供描述性标题并包含先前收集的详细信息。 从 资源中,您还可以选择与问题相关的集群。
-
尽可能具体,包括您认为可以帮助 IBM 支持人员对问题进行故障诊断的体系结构图或补充材料。