AlloyDB Omni Kubernetes オペレーターのカスタム リソースをモニタリングする

このページでは、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 チャートを使用して有効にできます。カスタム リソース指標を有効にすると、カスタム リソース指標を定義する configmap と、KSM デプロイメントの指標エンドポイントを公開する ClusterIP タイプの Service を使用して KSM デプロイメントが作成されます。Prometheus コレクタは指標を収集できます。これらの指標は、他の AlloyDB Omni 指標で可視化できます。詳細については、AlloyDB Omni Kubernetes オペレーターのカスタム リソース指標をご覧ください。

始める前に

次の準備ができていることを確認します。

  • Kubernetes クラスタで実行されている Prometheus 互換の指標スクレイパー。
  • registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0 でホストされている kube-state-metrics イメージへのアクセス。イメージを限定公開レジストリに事前に pull できます。
  • helm パッケージ マネージャー。Helm コマンドは Linux コマンドライン ターミナルで実行します。

カスタム リソース指標を有効にして 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

オペレーター 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 オペレーターをダウンロードします。

    gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
    
  4. registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0 のパブリック KSM イメージを非公開レジストリに事前 pull する場合は、この手順をスキップして次のステップに進みます。それ以外の場合は、カスタム リソース指標を使用して 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. カスタム リソース指標と独自の 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
    
  7. ダウンロードした AlloyDB Omni Kubernetes オペレーター インストール ファイルを削除して、インストールをクリーンアップします。ファイルの名前は alloydbomni-operator-VERSION_NUMBER.tgz で、現在の作業ディレクトリにあります。

既存の Kubernetes Operator でカスタム リソース指標を有効にする

AlloyDB Omni Kubernetes オペレーター バージョン 1.3.0(以降)がすでにインストールされている場合は、既存のオペレーターをアップグレードすることで、カスタム リソース指標を有効にできます。

  1. Linux コマンドライン ターミナルを開きます。
  2. 次のコマンドを実行して、現在の 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)。

  3. 指定したバージョンのオペレータをダウンロードします。

    gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
    
  4. 次のコマンドを実行して AlloyDB Omni Kubernetes オペレーターをアップグレードし、この手順の最後のステップに進みます。registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.14.0 にあるパブリック KSM イメージを非公開レジストリに事前に pull する場合は、この手順をスキップして次のステップに進みます。

    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 Operator でカスタム リソース指標を無効にする

  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 を使用して指標を表示するをご覧ください。

次のステップ