本页面介绍了如何使用 kube-state-metrics (KSM) 监控 AlloyDB Omni Kubernetes 操作器自定义资源的状态。
通过 Kubernetes 操作器运行 KSM 可让您执行以下操作:
- 通过与 Prometheus 兼容的可观测性堆栈以及 AlloyDB Omni 指标实时监控自定义资源状态。
- 在自定义资源指标的基础上构建信息中心和提醒,以便更好地了解运行状况并主动检测问题。
如需详细了解 kube-state-metrics,请参阅概览。如需了解 kube-state-metrics 如何监控 Kubernetes 自定义资源,请参阅自定义资源状态指标。
AlloyDB Omni Kubernetes 操作器自定义资源的工作方式
默认情况下,自定义资源指标处于未启用状态。您可以使用 AlloyDB Omni Kubernetes 操作器 Helm 图表启用自定义资源指标。启用自定义资源指标后,系统会创建一个 KSM 部署,其中包含定义自定义资源指标的 configmap
,以及用于公开 KSM 部署的指标端点的 ClusterIP 类型的服务。您的 Prometheus 收集器可以收集这些指标,而您可以使用其他 AlloyDB Omni 指标直观呈现这些指标。如需了解详情,请参阅 AlloyDB Omni Kubernetes 操作器的自定义资源指标。
准备工作
确保您满足以下要求:
- 在您的 Kubernetes 集群中运行的与 Prometheus 兼容的指标抓取器。
- 可以访问在
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0
处托管的 kube-state-metrics 映像。您可以将该映像预先拉取到您的私有注册表。 helm
软件包管理系统。您可在 Linux 命令行终端中运行 Helm 命令。
安装启用了自定义资源指标的 Kubernetes 操作器
您可以使用 AlloyDB Omni Kubernetes 操作器 Helm 图表中的以下变量来控制自定义资源指标的安装和移除:
变量 | 类型 | 说明 | 默认 |
---|---|---|---|
|
布尔值 (true/false) | 启用和停用自定义资源指标 | false(停用) |
|
字符串 | ksmImage 的完整路径 |
|
如果您尚未安装操作器 Helm 图表,请在运行 Helm 安装时设置相应变量。
如需安装启用了自定义资源指标的 Kubernetes 操作器,请按以下步骤操作:
- 打开 Linux 命令行终端。
通过运行以下命令定义以下环境变量:
export GCS_BUCKET=alloydb-omni-operator export HELM_PATH=$(gcloud storage cat gs://$GCS_BUCKET/latest) export OPERATOR_VERSION="${HELM_PATH%%/*}"
下载 AlloyDB Omni Kubernetes 操作器:
gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
如果您将
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0
处的公共 KSM 映像预先拉取到您的私有注册表,请跳过此步骤,然后继续执行下一步。否则,请安装具有自定义资源指标的 AlloyDB Omni Kubernetes 操作器,然后继续执行此过程的最后一步。helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --set crdMetrics.enabled=true \ --atomic \ --timeout 5m
导出环境变量:
export KSM_IMAGE=<full path to your KSM image>
如需安装具有自定义资源指标和您自己的 KSM 映像位置的 AlloyDB Omni Kubernetes 操作器,请运行以下命令:
helm install alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --create-namespace \ --namespace alloydb-omni-system \ --set crdMetrics.enabled=true,crdMetrics.ksmImage=${KSM_IMAGE} \ --atomic \ --timeout 5m
安装成功后,系统会返回以下输出:
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 1 TEST SUITE: None
通过删除下载的 AlloyDB Omni Kubernetes 操作器安装文件来清理安装。该文件名为
alloydbomni-operator-VERSION_NUMBER.tgz
,位于当前工作目录中。
在现有 Kubernetes 操作器上启用自定义资源指标
如果您已安装 AlloyDB Omni Kubernetes 操作器 1.3.0 或更高版本,则可以通过升级现有操作器来启用自定义资源指标。
- 打开 Linux 命令行终端。
通过运行以下命令查找当前的 AlloyDB Omni Kubernetes 操作器版本并定义环境变量:
export OPERATOR_VERSION=$(helm ls -n alloydb-omni-system -o json | jq -r 'map(select(.name == "alloydbomni-operator") | .chart)| .[0]') OPERATOR_VERSION=${OPERATOR_VERSION#"alloydbomni-operator-"} echo $OPERATOR_VERSION export GCS_BUCKET=alloydb-omni-operator export HELM_PATH=$OPERATOR_VERSION/alloydbomni-operator-$OPERATOR_VERSION.tgz
输出内容是您安装的 AlloyDB Omni Kubernetes 操作器版本,例如
1.3.0
。下载指定版本的操作器:
gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
通过运行以下命令升级 AlloyDB Omni Kubernetes 操作器,然后执行此过程的最后一步。如果您将
registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0
处的公共 KSM 映像预先拉取到您的私有注册表,请跳过此步骤,然后直接继续执行下一步。helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --namespace alloydb-omni-system \ --reuse-values \ --set crdMetrics.enabled=true \ --atomic \ --timeout 5m
导出环境变量:
export KSM_IMAGE=<full path to your KSM image>
如需执行升级,请运行以下命令:
helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --namespace alloydb-omni-system \ --reuse-values \ --set crdMetrics.enabled=true,crdMetrics.ksmImage=${KSM_IMAGE} \ --atomic \ --timeout 5m
升级成功后,系统会返回以下输出:
NAME: alloydbomni-operator LAST DEPLOYED: CURRENT_TIMESTAMP NAMESPACE: alloydb-omni-system STATUS: deployed REVISION: 2 TEST SUITE: None
在现有 Kubernetes 操作器上停用自定义资源指标
- 打开 Linux 命令行终端。
运行以下命令:
export OPERATOR_VERSION=$(helm ls -n alloydb-omni-system -o json | jq -r 'map(select(.name == "alloydbomni-operator") | .chart)| .[0]') OPERATOR_VERSION=${OPERATOR_VERSION#"alloydbomni-operator-"}
如需停用自定义资源指标,请运行以下命令:
helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \ --namespace alloydb-omni-system \ --reuse-values \ --set crdMetrics.enabled=false \ --atomic \ --timeout 5m
使用 Prometheus API 查看指标
如需查看指标,请参阅使用 Prometheus API 查看指标。