11.6. 监控 Red Hat OpenShift 的 External Secrets Operator
默认情况下,Red Hat OpenShift 的 External Secrets Operator 会公开 Operator 和操作对象的指标。您可以使用 Prometheus Operator 格式将 OpenShift Monitoring 配置为收集这些指标。
11.6.1. 启用用户工作负载监控 复制链接链接已复制到粘贴板!
您可以通过在集群中配置用户工作负载监控来启用对用户定义的项目的监控。如需更多信息,请参阅"为用户定义的项目设置指标集合"。
先决条件
-
您可以使用具有
cluster-admin角色的用户访问集群。
流程
创建
cluster-monitoring-config.yamlYAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用
ConfigMap:oc apply -f cluster-monitoring-config.yaml
$ oc apply -f cluster-monitoring-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令,验证用户工作负载的监控组件是否在
openshift-user-workload-monitoring命名空间中运行:oc -n openshift-user-workload-monitoring get pod
$ oc -n openshift-user-workload-monitoring get podCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME READY STATUS RESTARTS AGE prometheus-operator-5f79cff9c9-67pjb 2/2 Running 0 25h prometheus-user-workload-0 6/6 Running 0 25h thanos-ruler-user-workload-0 4/4 Running 0 25h
NAME READY STATUS RESTARTS AGE prometheus-operator-5f79cff9c9-67pjb 2/2 Running 0 25h prometheus-user-workload-0 6/6 Running 0 25h thanos-ruler-user-workload-0 4/4 Running 0 25hCopy to Clipboard Copied! Toggle word wrap Toggle overflow prometheus-operator、prometheus-user-workload和thanos-ruler-user-workload等 Pod 的状态必须是Running。
Red Hat OpenShift 的 External Secrets Operator 默认在 /metrics 服务端点上的端口 8443 上公开指标。您可以通过创建一个 ServiceMonitor 自定义资源 (CR) 来配置 Operator 的指标集合,以便 Prometheus Operator 收集自定义指标。如需更多信息,请参阅"配置用户工作负载监控"。
先决条件
-
您可以使用具有
cluster-admin角色的用户访问集群。 - 您已为 Red Hat OpenShift 安装了 External Secrets Operator。
- 您已启用了用户工作负载监控。
流程
将 Operator 配置为将
HTTP用于 metrics 服务器。HTTPS默认启用。运行以下命令,为 Red Hat OpenShift 更新外部 Secret Operator 的订阅对象来配置
HTTP协议:oc -n external-secrets-operator patch subscription openshift-external-secrets-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"METRICS_BIND_ADDRESS","value":":8080"}, {"name": "METRICS_SECURE", "value": "false"}]}}}'$ oc -n external-secrets-operator patch subscription openshift-external-secrets-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"METRICS_BIND_ADDRESS","value":":8080"}, {"name": "METRICS_SECURE", "value": "false"}]}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证 External Secrets Operator pod 是否已重新部署,并且为
METRICS_BIND_ADDRESS和METRICS_SECURE配置的值是否已更新,请运行以下命令:oc set env --list deployment/external-secrets-operator-controller-manager -n external-secrets-operator | grep -e METRICS_BIND_ADDRESS -e METRICS_SECURE -e container
$ oc set env --list deployment/external-secrets-operator-controller-manager -n external-secrets-operator | grep -e METRICS_BIND_ADDRESS -e METRICS_SECURE -e containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下示例显示
METRICS_BIND_ADDRESS和METRICS_SECURE已更新:deployments/external-secrets-operator-controller-manager, container manager
# deployments/external-secrets-operator-controller-manager, container manager METRICS_BIND_ADDRESS=:8080 METRICS_SECURE=falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
使用
kubernetes.io/service-account.name注解创建Secret资源,以注入与指标服务器进行身份验证所需的令牌。创建
secret-external-secrets-operator.yamlYAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
Secret资源:oc apply -f secret-external-secrets-operator.yaml
$ oc apply -f secret-external-secrets-operator.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
创建授予访问指标权限所需的
ClusterRoleBinding资源:创建
clusterrolebinding-external-secrets.yamlYAML 文件:以下示例显示了
cluserrolebinding-external-secrets.yaml文件。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ClusterRoldeBinding自定义资源:oc apply -f clusterrolebinding-external-secrets.yaml
$ oc apply -f clusterrolebinding-external-secrets.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果使用默认
HTTPS,请创建ServiceMonitorCR:创建
servicemonitor-external-secrets-operator-https.yamlYAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ServiceMonitorCR:oc apply -f servicemonitor-external-secrets-operator-https.yaml
$ oc apply -f servicemonitor-external-secrets-operator-https.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
如果配置为使用
HTTP,请创建ServiceMonitorCR:创建
servicemonitor-external-secrets-operator-http.yamlYAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ServiceMonitorCR:oc apply -f servicemonitor-external-secrets-operator-http.yaml
$ oc apply -f servicemonitor-external-secrets-operator-http.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
ServiceMonitorCR 后,用户工作负载 Prometheus 实例从 Operator 开始指标集合。收集的指标使用job="external-secrets-operator-controller-manager-metrics-service"标记。
验证
-
在 OpenShift Container Platform web 控制台中进入到 Observe
Targets。 在 Label 过滤字段中,输入以下标签来过滤每个操作对象的指标目标:
service=external-secrets-operator-controller-manager-metrics-service
$ service=external-secrets-operator-controller-manager-metrics-serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
确认 Status 列显示
external-secrets-operator的Up。
11.6.3. 为 Red Hat OpenShift 查询外部 Secret Operator 的指标 复制链接链接已复制到粘贴板!
作为集群管理员,或者作为具有查看所有命名空间权限的用户,您可以使用 OpenShift Container Platform Web 控制台或命令行界面(CLI)查询 Operator 指标。如需更多信息,请参阅"访问指标"。
先决条件
-
您可以使用具有
cluster-admin角色的用户访问集群。 - 您已为 Red Hat OpenShift 安装了 External Secrets Operator。
-
您已通过创建一个
ServiceMonitor对象来启用监控和指标集合。
流程
-
在 OpenShift Container Platform web 控制台中进入到 Observe
Metrics。 在查询字段中,输入以下 PromQL 表达式来查询 Red Hat OpenShift 指标的外部 Secrets Operator:
{job="external-secrets-operator-controller-manager-metrics-service"}{job="external-secrets-operator-controller-manager-metrics-service"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow
External Secrets Operator for Red Hat OpenShift 云算数(operands)默认在 /metrics 服务端点的端口 8080 上为所有三个组件 (external-secrets, external-secrets-cert-controll, 和 external-secrets-webhook) 公开。您可以通过创建一个 ServiceMonitor 自定义资源(CR)来为 external-secrets 操作对象配置指标集合,以便 Prometheus Operator 收集自定义指标。如需更多信息,请参阅"配置用户工作负载监控"。
先决条件
-
您可以使用具有
cluster-admin角色的用户访问集群。 - 您已为 Red Hat OpenShift 安装了 External Secrets Operator。
- 您已启用了用户工作负载监控。
流程
创建授予访问指标权限所需的
ClusterRoleBinding资源:创建
clusterrolebinding-external-secrets.yamlYAML 文件:以下示例显示了
cluserrolebinding-external-secrets.yaml文件。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ClusterRoldeBinding自定义资源:oc apply -f clusterrolebinding-external-secrets.yaml
$ oc apply -f clusterrolebinding-external-secrets.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
创建
ServiceMonitorCR:创建
servicemonitor-external-secrets.yamlYAML 文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
ServiceMonitorCR:oc apply -f servicemonitor-external-secrets.yaml
$ oc apply -f servicemonitor-external-secrets.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
ServiceMonitorCR 后,用户工作负载 Prometheus 实例从 Red Hat OpenShift 操作对象的 External Secrets Operator 开始指标集合。收集的指标使用job="external-secrets"、job="external-secrets-cainjector"和job="external-secrets-webhook"标记。
验证
-
在 OpenShift Container Platform web 控制台中进入到 Observe
Targets。 在 Label 过滤字段中,输入以下标签来过滤每个操作对象的指标目标:
service=external-secrets
$ service=external-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow service=external-secrets-cert-controller-metrics
$ service=external-secrets-cert-controller-metricsCopy to Clipboard Copied! Toggle word wrap Toggle overflow service=external-secrets-webhook
$ service=external-secrets-webhookCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
确认 Status 列为
external-secrets,external-secrets-cert-controller和external-secrets-webhook显示Up。
11.6.5. 查询 external-secrets 操作对象的指标 复制链接链接已复制到粘贴板!
作为集群管理员,或者具有查看所有命名空间权限的用户,您可以使用 OpenShift Container Platform Web 控制台或命令行界面(CLI)查询 external-secrets 操作对象指标。如需更多信息,请参阅"访问指标"。
先决条件
-
您可以使用具有
cluster-admin角色的用户访问集群。 - 您已为 Red Hat OpenShift 安装了 External Secrets Operator。
-
您已通过创建一个
ServiceMonitor对象来启用监控和指标集合。
流程
-
在 OpenShift Container Platform web 控制台中进入到 Observe
Metrics。 在查询字段中,输入以下 PromQL 表达式来为每个操作对象查询 Red Hat OpenShift operands 指标的外部 Secret Operator:
{job="external-secrets"}{job="external-secrets"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow {job="external-secrets-webhook"}{job="external-secrets-webhook"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow {job="external-secrets-cert-controller-metrics"}{job="external-secrets-cert-controller-metrics"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow