40.5. 基于 Ansible 的健康检查
通过用于安装和管理 OpenShift Container Platform 集群的 基于 Ansible 的工具提供了额外的诊断健康检查。它们可以为当前 OpenShift Container Platform 安装报告常见部署问题。
这些检查可以使用 ansible-playbook
命令(集群安装中使用的相同方法)或作为 openshift-ansible 的容器化版本来运行。对于 ansible-playbook
方法,检查由 openshift-ansible RPM 软件包提供。对于容器化方法,openshift3/ose-ansible 容器镜像通过 Red Hat Container Registry 分发。后续小节中提供了每种方法的示例用法。
以下健康检查是一组诊断任务,用于使用提供的 health.yml playbook 为部署的 OpenShift Container Platform 集群的 Ansible 清单文件运行。
由于状况更改健康检查 playbook 可以进行环境,因此您必须对仅 Ansible 部署的集群运行 playbook,并使用用于部署的相同清单文件运行 playbook。更改由安装依赖项组成,以便检查可以收集所需信息。在某些情况下,如果其当前状态与清单文件中的配置不同,额外的系统组件(如 docker
或网络配置)可能会改变。只有在您不期望清单文件对现有集群配置进行任何更改时,才应运行这些健康检查。
检查名称 | 用途 |
---|---|
| 此检查可测量 etcd 集群中 OpenShift Container Platform 镜像数据的总大小。如果计算的大小超过用户定义的限制,则检查会失败。如果没有指定限制,如果镜像数据大小达到 50% 或 etcd 集群中当前使用的空间的大小,这个检查会失败。 此检查失败表示 OpenShift Container Platform 镜像数据正在占用大量 etcd,这可能会最终造成 etcd 集群崩溃。
可以通过传递 |
|
此检查会检测到 etcd 主机上的高than-normal 流量。如果找到 etcd 同步持续时间警告的 如需有关改进 etcd 性能的更多信息,请参阅 OpenShift Container Platform etcd 主机和 红帽知识库的建议实践。 |
|
此检查可确保 etcd 集群的卷使用量低于最大用户指定的阈值。如果没有指定最大阈值值,则默认为总卷大小的
可以通过传递 |
| 仅在依赖于 docker 守护进程的主机上运行(节点和容器化安装)。检查 docker 的总用量没有超过用户定义的限制。如果没有设置用户自定义的限制,则 docker 的最大用量阈值默认为可用总大小的 90%。
您可以为总百分比设置阈值限制,清单文件中有一个变量,如 这也检查 docker 的存储是否使用 受支持的配置。 |
|
这一组检查验证 Curator、Kibana、Elasticsearch 和 Fluentd Pod 是否已部署并处于 |
| 此检查检测到日志记录堆栈部署中 Elasticsearch 创建和日志聚合之间的正常时间延迟。如果在超时内无法通过 Elasticsearch 查询新的日志条目(默认为 30 秒),它会失败。检查仅在启用日志记录时运行。
可以通过传递 |
| 此检查对 OpenShift Container Platform SDN 执行以下集群级别的诊断:
如果使用
当 |
在配置 Cluster Pre-install Checks 中,包括了一组类似的检查旨在作为安装过程的一部分运行。关于检查证书过期的信息,请参阅重新部署证书。
40.5.1. 通过 ansible-playbook 运行健康检查
要使用 ansible-playbook
命令运行 openshift-ansible 健康检查,进入 playbook 目录,指定集群的清单文件,并运行 health.yml playbook:
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i <inventory_file> \ playbooks/openshift-checks/health.yml
要在命令行中设置变量,请将 -e
标志包括在 key=value
格式的任何所需变量中。例如:
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i <inventory_file> \ playbooks/openshift-checks/health.yml \ -e openshift_check_logging_index_timeout_seconds=45 \ -e etcd_max_image_data_size_bytes=40000000000
要禁用特定的检查,请在运行 playbook 前,以逗号分隔的检查名称列表包括 openshift_disable_check
变量。例如:
openshift_disable_check=etcd_traffic,etcd_volume
另外,在运行 ansible-playbook
命令时,使用 -e openshift_disable_check=<check1>,<check2
> 设置为 disable。