监控 AlloyDB Omni Kubernetes Operator 自定义资源

本页介绍了如何使用 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 图表中使用以下变量来控制自定义资源指标的安装和移除:

变量 类型 说明 默认

crdMetrics.enabled

布尔值(true/false) 启用和停用自定义资源指标 false(停用)

crdMetrics.ksmImage

字符串 ksmImage 的完整路径

registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0

如果您尚未安装 operator Helm 图表,请在运行 Helm 安装命令时设置变量。

如需安装启用了自定义资源指标的 Kubernetes 操作器,请按以下步骤操作:

  1. 打开 Linux 命令行终端。
  2. 运行以下命令,定义以下环境变量:

    export GCS_BUCKET=alloydb-omni-operator
    export HELM_PATH=$(gcloud storage cat gs://$GCS_BUCKET/latest)
    export OPERATOR_VERSION="${HELM_PATH%%/*}"
    
  3. 下载 AlloyDB Omni Kubernetes operator:

    gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
    
  4. 如果您已将 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
    
  5. 导出环境变量:

    export KSM_IMAGE=<full path to your KSM image>
    
  6. 如需安装 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
    
  7. 删除下载的 AlloyDB Omni Kubernetes operator 安装文件,以清理安装。该文件名为 alloydbomni-operator-VERSION_NUMBER.tgz,位于当前工作目录中。

在现有 Kubernetes 运算符上启用自定义资源指标

如果您已安装 AlloyDB Omni Kubernetes operator 1.3.0 或更高版本,则可以通过升级现有 operator 来启用自定义资源指标。

  1. 打开 Linux 命令行终端。
  2. 运行以下命令,查找当前的 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

  3. 下载指定版本的 Operator:

    gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
    
  4. 运行以下命令升级 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
    
  5. 导出环境变量:

    export KSM_IMAGE=<full path to your KSM image>
    
  6. 如需执行升级,请运行以下命令:

    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 运算符的自定义资源指标

  1. 打开 Linux 命令行终端。
  2. 运行以下命令:

    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-"}
    
  3. 如需停用自定义资源指标,请运行以下命令:

    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 查看指标

后续步骤