4.20. 配置集群指标
集群指标(metrics)不会被设置为自动部署。将以下内容设置为在集群安装过程中启用集群指标:
[OSEv3:vars] openshift_metrics_install_metrics=true
指标公共 URL 可以在集群安装过程中使用 openshift_metrics_hawkular_hostname
Ansible 变量设置,默认值为:
https://hawkular-metrics.{{openshift_master_default_subdomain}}/hawkular/metrics
如果更改了这个变量,请确保主机名可以通过路由器访问。
openshift_metrics_hawkular_hostname=hawkular-metrics.{{openshift_master_default_subdomain}}
根据上游 Kubernetes 规则,指标只能从 eth0
的默认接口收集。
您必须设置 openshift_master_default_subdomain
值才能部署指标。
4.20.1. 配置 Metrics 存储
必须设置 openshift_metrics_cassandra_storage_type
变量才能将持久性存储用于指标数据。如果没有设置 openshift_metrics_cassandra_storage_type
,则集群指标数据将存储在 emptyDir
卷中,该卷将在 Cassandra pod 终止时被删除。
测试显示,使用 RHEL NFS 服务器作为容器镜像 registry 的存储后端会出现问题。这包括用于 metrics 存储的 Cassandra。因此,不建议使用 RHEL NFS 服务器来备份核心服务使用的 PV。
Cassandra 旨在通过多个独立实例提供冗余性。因此,在数据目录中使用 NFS 或 SAN 是一个反模式,我们不推荐这样做。
然而,市场中的其他 NFS/SAN 实现可能没有这个问题。如需了解更多与此问题相关的信息,请联络相关的 NFS/SAN 厂商。
在集群安装过程中启用集群指标存储有三个选项:
选项 A:动态
如果您的 OpenShift Container Platform 环境支持为云供应商进行 动态卷置备,请使用以下变量:
[OSEv3:vars] openshift_metrics_cassandra_storage_type=dynamic
如果有多个默认动态置备的卷类型,如 gluster-storage 和 glusterfs-storage-block,您可以根据变量指定置备的卷类型。使用以下变量:
[OSEv3:vars] openshift_metrics_cassandra_storage_type=pv openshift_metrics_cassandra_pvc_storage_class_name=glusterfs-storage-block
有关使用 DynamicProvisioningEnabled
来启用或禁用动态置备的详情,请查看 卷配置。
选项 B:NFS 主机组
当设置以下变量时,会在集群安装过程中在 [nfs]
主机组中的主机上创建一个 NFS 卷(路径为 <nfs_directory>/<volume_name>)例如,使用这些选项的卷路径是 /exports/metrics:
[OSEv3:vars] # nfs_directory must conform to DNS-1123 subdomain must consist of lower case # alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character openshift_metrics_storage_kind=nfs openshift_metrics_storage_access_modes=['ReadWriteOnce'] openshift_metrics_storage_nfs_directory=/exports openshift_metrics_storage_nfs_options='*(rw,root_squash)' openshift_metrics_storage_volume_name=metrics openshift_metrics_storage_volume_size=10Gi
选项 C:外部 NFS 主机
要使用外部 NFS 卷,必须在存储主机上有 <nfs_directory>/<volume_name> 路径。
[OSEv3:vars] # nfs_directory must conform to DNS-1123 subdomain must consist of lower case # alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character openshift_metrics_storage_kind=nfs openshift_metrics_storage_access_modes=['ReadWriteOnce'] openshift_metrics_storage_host=nfs.example.com openshift_metrics_storage_nfs_directory=/exports openshift_metrics_storage_volume_name=metrics openshift_metrics_storage_volume_size=10Gi
使用以下选项的远程卷路径是 nfs.example.com:/exports/metrics。
升级或安装带有 NFS 的 OpenShift Container Platform
不建议将 NFS 用于 OpenShift Container Platform 核心组件,因为 NFS(和 NFS 协议)没有提供组成 OpenShift Container Platform 基础架构的应用程序所需的一致性。
因此,安装程序和更新 playbook 需要一个选项来启用使用带核心基础架构组件的 NFS。
# Enable unsupported configurations, things that will yield a partially # functioning cluster but would not be supported for production use #openshift_enable_unsupported_configurations=false
如果您在升级或安装集群时看到以下信息,则需要额外的步骤。
TASK [Run variable sanity checks] ********************************************** fatal: [host.example.com]: FAILED! => {"failed": true, "msg": "last_checked_host: host.example.com, last_checked_var: openshift_hosted_registry_storage_kind;nfs is an unsupported type for openshift_hosted_registry_storage_kind. openshift_enable_unsupported_configurations=True mustbe specified to continue with this configuration."}
在 Ansible 清单文件中指定以下参数:
[OSEv3:vars] openshift_enable_unsupported_configurations=True