8.2. 在单一命名空间中安装 Operator 时启用监控
当在单一命名空间中安装 Red Hat Quay Operator 时,监控组件为非受管状态。要配置监控,您需要为 OpenShift Container Platform 中的用户定义的命名空间启用它。如需更多信息,请参阅 配置监控堆栈 和 为用户定义的项目启用监控的 OCP 文档。
以下步骤演示了如何根据 OCP 文档为 Quay 配置监控。
8.2.1. 创建集群监控配置映射 复制链接链接已复制到粘贴板!
检查
cluster-monitoring-configConfigMap 对象是否存在:$ oc -n openshift-monitoring get configmap cluster-monitoring-config Error from server (NotFound): configmaps "cluster-monitoring-config" not found如果 ConfigMap 对象不存在:
创建以下 YAML 清单。在本例中,该文件名为
cluster-monitoring-config.yaml:$ cat cluster-monitoring-config.yaml apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: |创建 ConfigMap 对象:
$ oc apply -f cluster-monitoring-config.yaml configmap/cluster-monitoring-config created$ oc -n openshift-monitoring get configmap cluster-monitoring-config NAME DATA AGE cluster-monitoring-config 1 12s
8.2.2. 创建用户定义的工作负载监控配置映射 复制链接链接已复制到粘贴板!
检查
user-workload-monitoring-configConfigMap 对象是否存在:$ oc -n openshift-user-workload-monitoring get configmap user-workload-monitoring-config Error from server (NotFound): configmaps "user-workload-monitoring-config" not found如果 ConfigMap 对象不存在:
创建以下 YAML 清单。在本例中,该文件名为
user-workload-monitoring-config.yaml:$ cat user-workload-monitoring-config.yaml apiVersion: v1 kind: ConfigMap metadata: name: user-workload-monitoring-config namespace: openshift-user-workload-monitoring data: config.yaml: |创建 ConfigMap 对象:
$ oc apply -f user-workload-monitoring-config.yaml configmap/user-workload-monitoring-config created
8.2.3. 为用户定义的项目启用监控 复制链接链接已复制到粘贴板!
检查用户定义的项目的监控是否正在运行:
$ oc get pods -n openshift-user-workload-monitoring No resources found in openshift-user-workload-monitoring namespace.编辑
cluster-monitoring-configConfigMap:$ oc -n openshift-monitoring edit configmap cluster-monitoring-config将
enableUserWorkload: true设置为在集群中为用户定义的项目启用监控:apiVersion: v1 data: config.yaml: | enableUserWorkload: true kind: ConfigMap metadata: annotations:保存文件以应用更改,然后检查适当的 pod 是否正在运行:
$ oc get pods -n openshift-user-workload-monitoring NAME READY STATUS RESTARTS AGE prometheus-operator-6f96b4b8f8-gq6rl 2/2 Running 0 15s prometheus-user-workload-0 5/5 Running 1 12s prometheus-user-workload-1 5/5 Running 1 12s thanos-ruler-user-workload-0 3/3 Running 0 8s thanos-ruler-user-workload-1 3/3 Running 0 8s
8.2.4. 创建 Service 对象以公开 Quay 指标 复制链接链接已复制到粘贴板!
为 Service 对象创建 YAML 文件:
$ cat quay-service.yaml apiVersion: v1 kind: Service metadata: annotations: labels: quay-component: monitoring quay-operator/quayregistry: example-registry name: example-registry-quay-metrics namespace: quay-enterprise spec: ports: - name: quay-metrics port: 9091 protocol: TCP targetPort: 9091 selector: quay-component: quay-app quay-operator/quayregistry: example-registry type: ClusterIP创建 Service 对象:
$ oc apply -f quay-service.yaml service/example-registry-quay-metrics created
8.2.5. 创建 ServiceMonitor 对象 复制链接链接已复制到粘贴板!
通过创建 ServiceMonitor 资源,将 OpenShift Monitoring 配置为提取指标。
为 ServiceMonitor 资源创建 YAML 文件:
$ cat quay-service-monitor.yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: labels: quay-operator/quayregistry: example-registry name: example-registry-quay-metrics-monitor namespace: quay-enterprise spec: endpoints: - port: quay-metrics namespaceSelector: any: true selector: matchLabels: quay-component: monitoring创建 ServiceMonitor:
$ oc apply -f quay-service-monitor.yaml servicemonitor.monitoring.coreos.com/example-registry-quay-metrics-monitor created
8.2.6. 查看 OpenShift 中的指标 复制链接链接已复制到粘贴板!
您可以在 OpenShift 控制台中访问 Monitoring quay_ 以查看可用指标列表:
例如,如果您已将用户添加到 registry,请选择 quay-users_rows 指标: