第 24 章 验证和故障排除
24.1. 验证安装
您可以按照本文档中的步骤在安装后检查 OpenShift Container Platform 集群的状态。
24.1.1. 查看安装日志
您可以在 OpenShift Container Platform 安装日志中查看安装概述。如果安装成功,日志中包括访问集群所需的信息。
先决条件
- 有访问安装主机的访问权限。
流程
- 查看安装主机上安装目录中的 - .openshift_install.log日志文件:- cat <install_dir>/.openshift_install.log - $ cat <install_dir>/.openshift_install.log- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - 如果安装成功,日志末尾会包括集群凭证,如下例所示: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
24.1.2. 查看镜像拉取源
					对于没有网络连接的集群,您可以使用节点上的命令来查看拉取的镜像源,如 crictl 镜像。
				
					但是,对于断开连接的安装,若要查看拉取镜像的来源,您必须查看 CRI-O 日志以查找 Trying 以访问 日志条目,如下所示。查看镜像拉取源的其他方法,如 crictl images 命令,显示非镜像镜像的镜像名称,即使镜像是从镜像位置拉取的。
				
先决条件
- 
							您可以使用具有 cluster-admin角色的用户访问集群。
流程
- 查看 master 或 worker 节点的 CRI-O 日志: - oc adm node-logs <node_name> -u crio - $ oc adm node-logs <node_name> -u crio- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - 用于访问日志条目的 Trying指示镜像要从中拉取的位置。- ... Mar 17 02:52:50 ip-10-0-138-140.ec2.internal crio[1366]: time="2021-08-05 10:33:21.594930907Z" level=info msg="Pulling image: quay.io/openshift-release-dev/ocp-release:4.10.0-ppc64le" id=abcd713b-d0e1-4844-ac1c-474c5b60c07c name=/runtime.v1alpha2.ImageService/PullImage Mar 17 02:52:50 ip-10-0-138-140.ec2.internal crio[1484]: time="2021-03-17 02:52:50.194341109Z" level=info msg="Trying to access \"li0317gcp1.mirror-registry.qe.gcp.devcluster.openshift.com:5000/ocp/release@sha256:1926eae7cacb9c00f142ec98b00628970e974284b6ddaf9a6a086cb9af7a6c31\"" Mar 17 02:52:50 ip-10-0-138-140.ec2.internal crio[1484]: time="2021-03-17 02:52:50.226788351Z" level=info msg="Trying to access \"li0317gcp1.mirror-registry.qe.gcp.devcluster.openshift.com:5000/ocp/release@sha256:1926eae7cacb9c00f142ec98b00628970e974284b6ddaf9a6a086cb9af7a6c31\"" ... - ... Mar 17 02:52:50 ip-10-0-138-140.ec2.internal crio[1366]: time="2021-08-05 10:33:21.594930907Z" level=info msg="Pulling image: quay.io/openshift-release-dev/ocp-release:4.10.0-ppc64le" id=abcd713b-d0e1-4844-ac1c-474c5b60c07c name=/runtime.v1alpha2.ImageService/PullImage Mar 17 02:52:50 ip-10-0-138-140.ec2.internal crio[1484]: time="2021-03-17 02:52:50.194341109Z" level=info msg="Trying to access \"li0317gcp1.mirror-registry.qe.gcp.devcluster.openshift.com:5000/ocp/release@sha256:1926eae7cacb9c00f142ec98b00628970e974284b6ddaf9a6a086cb9af7a6c31\"" Mar 17 02:52:50 ip-10-0-138-140.ec2.internal crio[1484]: time="2021-03-17 02:52:50.226788351Z" level=info msg="Trying to access \"li0317gcp1.mirror-registry.qe.gcp.devcluster.openshift.com:5000/ocp/release@sha256:1926eae7cacb9c00f142ec98b00628970e974284b6ddaf9a6a086cb9af7a6c31\"" ...- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 日志可能会显示镜像拉取源两次,如上例中所示。 - 如果您的 - ImageContentSourcePolicy对象列出了多个镜像,OpenShift Container Platform 会尝试按照配置中列出的顺序拉取镜像,例如:- Trying to access \"li0317gcp1.mirror-registry.qe.gcp.devcluster.openshift.com:5000/ocp/release@sha256:1926eae7cacb9c00f142ec98b00628970e974284b6ddaf9a6a086cb9af7a6c31\" Trying to access \"li0317gcp2.mirror-registry.qe.gcp.devcluster.openshift.com:5000/ocp/release@sha256:1926eae7cacb9c00f142ec98b00628970e974284b6ddaf9a6a086cb9af7a6c31\" - Trying to access \"li0317gcp1.mirror-registry.qe.gcp.devcluster.openshift.com:5000/ocp/release@sha256:1926eae7cacb9c00f142ec98b00628970e974284b6ddaf9a6a086cb9af7a6c31\" Trying to access \"li0317gcp2.mirror-registry.qe.gcp.devcluster.openshift.com:5000/ocp/release@sha256:1926eae7cacb9c00f142ec98b00628970e974284b6ddaf9a6a086cb9af7a6c31\"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
24.1.3. 获取集群版本、状态和更新详情
					您可以通过运行 oc get clusterversion 命令来查看集群版本和状态。如果状态显示安装仍在进行,您可以查看 Operator 的状态以了解更多信息。
				
您还可以列出当前的更新频道并查看可用的集群更新。
先决条件
- 
							您可以使用具有 cluster-admin角色的用户访问集群。
- 
							已安装 OpenShift CLI(oc)。
流程
- 获取集群版本和总体状态: - oc get clusterversion - $ oc get clusterversion- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.6.4 True False 6m25s Cluster version is 4.6.4 - NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.6.4 True False 6m25s Cluster version is 4.6.4- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 示例输出显示集群已被成功安装。 
- 如果集群状态表示安装仍在进行,您可以通过检查 Operator 状态来获取更详细的进度信息: - oc get clusteroperators.config.openshift.io - $ oc get clusteroperators.config.openshift.io- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 查看集群规格、更新可用性和更新历史记录的详细概述: - oc describe clusterversion - $ oc describe clusterversion- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 列出当前的更新频道: - oc get clusterversion -o jsonpath='{.items[0].spec}{"\n"}'- $ oc get clusterversion -o jsonpath='{.items[0].spec}{"\n"}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - {"channel":"stable-4.6","clusterID":"245539c1-72a3-41aa-9cec-72ed8cf25c5c"}- {"channel":"stable-4.6","clusterID":"245539c1-72a3-41aa-9cec-72ed8cf25c5c"}- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 查看可用的集群更新: - oc adm upgrade - $ oc adm upgrade- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
24.1.4. 验证集群是否使用短期凭证
您可以通过检查集群中的 Cloud Credential Operator (CCO) 配置和其他值来验证集群是否对各个组件使用简短安全凭证。
先决条件
- 
							已使用 Cloud Credential Operator 实用程序(ccoctl)部署了 OpenShift Container Platform 集群来实现短期凭证。
- 
							已安装 OpenShift CLI(oc)。
- 
							您以具有 cluster-admin权限的用户身份登录。
流程
- 运行以下命令,验证 CCO 是否配置为以手动模式运行: - oc get cloudcredentials cluster \ -o=jsonpath={.spec.credentialsMode}- $ oc get cloudcredentials cluster \ -o=jsonpath={.spec.credentialsMode}- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下输出确认 CCO 以手动模式运行: - 输出示例 - Manual - Manual- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 运行以下命令,验证集群没有 - root凭证:- oc get secrets \ -n kube-system <secret_name> - $ oc get secrets \ -n kube-system <secret_name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 其中 - <secret_name>是云供应商的 root secret 的名称。- Expand - 平台 - Secret 名称 - Amazon Web Services (AWS) - aws-creds- Microsoft Azure - azure-credentials- Google Cloud Platform (GCP) - gcp-credentials- 一个错误确认集群中不存在 root secret。 - AWS 集群的输出示例 - Error from server (NotFound): secrets "aws-creds" not found - Error from server (NotFound): secrets "aws-creds" not found- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 运行以下命令,验证组件是否在单个组件中使用短期安全凭证: - oc get authentication cluster \ -o jsonpath \ --template='{ .spec.serviceAccountIssuer }'- $ oc get authentication cluster \ -o jsonpath \ --template='{ .spec.serviceAccountIssuer }'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 此命令显示集群 - Authentication对象中- .spec.serviceAccountIssuer参数的值。与云供应商关联的 URL 的输出表示集群使用从集群外部创建和管理的简短凭证的手动模式。
- Azure 集群:通过运行以下命令,验证组件假定 secret 清单中指定的 Azure 客户端 ID: - oc get secrets \ -n openshift-image-registry installer-cloud-credentials \ -o jsonpath='{.data}'- $ oc get secrets \ -n openshift-image-registry installer-cloud-credentials \ -o jsonpath='{.data}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出中包含了 - azure_client_id和- azure_federated_token_file字段代表组件假定 Azure 客户端 ID。
- Azure 集群 :运行以下命令来验证 pod 身份 Webhook 是否正在运行: - oc get pods \ -n openshift-cloud-credential-operator - $ oc get pods \ -n openshift-cloud-credential-operator- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - NAME READY STATUS RESTARTS AGE cloud-credential-operator-59cf744f78-r8pbq 2/2 Running 2 71m pod-identity-webhook-548f977b4c-859lz 1/1 Running 1 70m - NAME READY STATUS RESTARTS AGE cloud-credential-operator-59cf744f78-r8pbq 2/2 Running 2 71m pod-identity-webhook-548f977b4c-859lz 1/1 Running 1 70m- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
24.1.5. 使用 CLI 查询集群节点状态
您可以在安装后验证集群节点的状态。
先决条件
- 
							您可以使用具有 cluster-admin角色的用户访问集群。
- 
							已安装 OpenShift CLI(oc)。
流程
- 列出集群节点的状态。验证输出是否列出所有预期的 control plane 和计算节点,以及每个节点的状态是否为 - Ready:- oc get nodes - $ oc get nodes- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 查看每个集群节点的 CPU 和内存资源的可用性: - oc adm top nodes - $ oc adm top nodes- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
24.1.6. 从 OpenShift Container Platform Web 控制台查看集群状态
您可以在 OpenShift Container Platform Web 控制台中的 Overview 页面中查看以下信息:
- 集群的一般状态
- control plane、集群 Operator 和存储的状态
- CPU、内存、文件系统、网络传输和 pod 可用性
- 集群的 API 地址、集群 ID 和供应商名称
- 集群版本信息
- 集群更新状态,包括当前更新频道和可用更新的详情
- 详细节点、pod、存储类和持久性卷声明(PVC)信息的集群清单
- 持续集群活动和最近事件列表
先决条件
- 
							您可以使用具有 cluster-admin角色的用户访问集群。
流程
- 
							在 Administrator 视角中,导航到 Home Overview。 
24.1.7. 查看 Red Hat OpenShift Cluster Manager 中的集群状态
在 OpenShift Container Platform Web 控制台中,您可以查看 OpenShift Cluster Manager 上集群状态的详细信息。
先决条件
- 登录到 OpenShift Cluster Manager。
- 
							您可以使用具有 cluster-admin角色的用户访问集群。
流程
- 进入 OpenShift Cluster Manager 中的 Cluster List 列表,并找到您的 OpenShift Container Platform 集群。
- 点集群的 Overview 选项卡。
- 查看有关集群的以下信息: - vCPU 和内存可用性和资源使用情况
- 集群 ID、状态、类型、区域和供应商名称
- 按节点类型划分的节点数
- 集群版本详情、集群的创建日期和集群所有者的名称
- 集群的生命周期支持状态
- 订阅信息,包括服务级别协议(SLA)状态、订阅单元类型、集群的生产环境状态、订阅责任和服务级别 提示- 要查看集群的历史记录,请点 Cluster history 选项卡。 
 
- 导航到 Monitoring 页面查看以下信息: - 已检测到的问题列表
- 正在触发的警报列表
- 集群 Operator 状态和版本
- 集群的资源使用情况
 
- 可选:您可以通过进入 Overview 菜单来查看 Red Hat Insights 收集的集群信息。在这个菜单中,您可以查看以下信息: - 集群可能会暴露的问题,按风险级别分类
- 根据类别进行健康检查的状态
 
24.1.8. 检查集群资源的可用性和使用
OpenShift Container Platform 提供了一组全面的监控仪表板,可帮助您了解集群组件的状态。
在 Administrator 视角中,您可以访问 OpenShift Container Platform 核心组件的仪表板,包括:
- etcd
- Kubernetes 计算资源
- Kubernetes 网络资源
- Prometheus
- 与集群和节点性能相关的仪表板
图 24.1. 计算资源仪表板示例
先决条件
- 
							您可以使用具有 cluster-admin角色的用户访问集群。
流程
- 
							在 OpenShift Container Platform web 控制台的 Administrator 视角中,进入到 Observe Dashboards。 
- 在 Dashboard 列表中选择一个仪表板。有些仪表板(如 etcd 仪表板)在被选择时会生成额外的子菜单。
- 可选:在 Time Range 列表中为图形选择一个时间范围。 - 选择预定义的时间段。
- 通过选择 Time Range 列表中的 Custom 时间范围 来设置自定义时间范围。 - 输入或选择 From 和 To date and time。
- 单击 Save 以保存自定义时间范围。
 
 
- 可选:选择一个 Refresh Interval。
- 将鼠标悬停在仪表板中的每个图形上,以显示特定项目的详细信息。
24.1.9. 列出正在触发的警报
当 OpenShift Container Platform 集群中有一组定义的条件满足时,警报会提供通知。您可以使用 OpenShift Container Platform Web 控制台中的 Alerting UI 查看集群中触发的警报。
先决条件
- 
							您可以使用具有 cluster-admin角色的用户访问集群。
流程
- 
							在 Administrator 视角中,导航到 Observe Alerting Alerts 页面。 
- 查看正在触发的警报,包括 严重性 、 状态和 来源。
- 在 Alert Details 页面中选择一个警报来查看更详细的信息。
24.1.10. 后续步骤
- 如果您在安装集群时遇到问题,请参阅对 安装进行故障排除。
- 安装 OpenShift Container Platform 后,您可以 进一步扩展和自定义集群。
