本页介绍了如何使用 kube-state-metrics (KSM) 监控 AlloyDB Omni Kubernetes 操作符自定义资源的状态。
通过 Kubernetes 操作器运行 KSM,您可以执行以下操作:
- 在与 Prometheus 兼容的可观测性堆栈上实时监控自定义资源状态,以及 AlloyDB Omni 指标。
- 基于自定义资源指标构建信息中心和提醒,以便更好地了解运营情况并主动检测问题。
如需详细了解 kube-state-metrics,请参阅概览。如需了解 kube-state-metrics 如何监控 Kubernetes 自定义资源,请参阅自定义资源状态指标。
AlloyDB Omni Kubernetes operator 自定义资源的运作方式
默认情况下,自定义资源指标处于停用状态。您可以使用 AlloyDB Omni Kubernetes operator Helm 图表启用自定义资源指标。启用自定义资源指标后,系统会使用用于定义自定义资源指标的 configmap
和类型为 ClusterIP 的服务创建 KSM 部署,以公开 KSM 部署的指标端点。您的 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 的完整路径 |
|
如果您尚未安装 operator 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 operator:
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>
如需安装 AlloyDB Omni Kubernetes 操作器(包含自定义资源指标和您自己的 KSM 映像位置),请运行以下命令:
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 operator 安装文件,以清理安装。该文件名为
alloydbomni-operator-VERSION_NUMBER.tgz
,位于当前工作目录中。
在现有 Kubernetes 运算符上启用自定义资源指标
如果您已安装 AlloyDB Omni Kubernetes operator 1.3.0 或更高版本,则可以通过升级现有 operator 来启用自定义资源指标。
- 打开 Linux 命令行终端。
运行以下命令,查找当前的 AlloyDB Omni Kubernetes operator 版本并定义环境变量:
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 operator 版本,例如
1.3.0
。下载指定版本的 Operator:
gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
运行以下命令升级 AlloyDB Omni Kubernetes operator,然后执行此过程的最后一步。如果您已将
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 查看指标。