ロードバランサのカスタム指標を公開する

このセクションでは、Pod またはワークロードからロードバランサに 1 つ以上の指標を送信する方法について説明します。

これらの指標は、実行しているサービスまたはアプリケーションから取得されます。たとえば、vLLM Engine によって公開される指標をご覧ください。

ロードバランサは、このデータを使用率ベースのロード バランシングで使用して、ワークロードをより効率的に分散できます。たとえば、この機能を使用して、ワークロードの使用量が多いリージョンをモニタリングし、ロードバランサがより多くのリソースが使用可能なリージョンにトラフィックをリダイレクトできるようにします。vLLM の例では、使用率の追跡に役立つ指標は gpu_cache_usage_perc です。

要件

Pod の要件は次のとおりです。

指標の要件は次のとおりです。

  • 指標は HTTP エンドポイントでアクセスできる必要があります。
  • 指標の形式は Prometheus 標準にする必要があります。
  • ロードバランサには指標名に関する制限があります。たとえば、名前は 64 文字以下にする必要があります。制限事項の一覧については、BackendService の API リファレンスbackends[].customMetrics[].name フィールドの詳細をご覧ください。

    サービスの指標がこれらの制限に準拠していない場合は、exportName フィールドを使用して名前を変更できます。

  • 0 ~ 1 の範囲のゲージ指標のみがサポートされます。1 は使用率 100% を表します。

  • 指標ラベルは無視されるため、指標の区別には使用できません。ワークロードが同じ指標を複数のラベルで公開していないことを確認します。

  • クラスタごとに最大 10 個の指標を公開できます。他のサービスには独自の上限があります。たとえば、ロードバランサの制限事項と要件をご覧ください。クラスタは複数のロードバランサを使用できます。

ロード バランシングの指標を公開する

  1. 公開する指標を選択します。サーバーが公開し、前のセクションに記載されている要件を満たす指標であれば、どれでも選択できます。

  2. 次のカスタム リソースを追加します。指標と Pod に固有の詳細を置き換えます。

    apiVersion: autoscaling.gke.io/v1beta1
    kind: AutoscalingMetric
    metadata:
      name: NAME
      namespace:NAMESPACE
    spec:
      selector:
        matchLabels:
          name: APP_LABEL_NAME
      endpoints:
      - port: METRIC_PORT
        path: METRIC_PATH
        metrics:
        - name: METRIC
          exportName: METRIC_NEW_NAME
    

    ワークロードに合わせて次の値を置き換えます。

    • NAME: AutoscalingMetric オブジェクトの名前。
    • NAMESPACE: Pod が存在する Namespace。
    • APP_LABEL_NAME: Pod に使用されるラベル。
    • METRIC_PORT: ポート番号。
    • METRIC_PATH: 指標のパス。サービスまたはアプリケーションで使用されているパスを確認します。このパスは通常 /metrics です。
    • METRIC: 公開する指標の名前。
    • 省略可: METRIC_NEW_NAME: このフィールドを使用して指標の名前を変更できます。指標名がロードバランサで設定された名前の制限に準拠していない場合は、このフィールドを使用して有効な名前に変更します。

      制限事項の一覧については、BackendService の API リファレンスbackends[].customMetrics[].name フィールドの詳細をご覧ください。

  3. 次のコマンドを使用してリソースを適用します。

    kubectl apply -f FILE_NAME.yaml
    

    FILE_NAME は、YAML ファイルの名前に置き換えます。

    カスタム リソースを追加すると、指標が自動スケーリング API に push されます。指標は数秒ごとに読み取られ、ロードバランサに送信されます。

2 つ目の指標を公開するには、同じ手順で別のカスタム リソースを作成します。

指標をロードバランサに公開したので、これらの指標を使用するようにロードバランサを構成できます。詳細については、カスタム指標を使用するようにロードバランサを構成するをご覧ください。

ロードバランサの操作の詳細については、GKE Service の使用率ベースのロード バランシングを構成するをご覧ください。

ロードバランサに公開された指標のトラブルシューティング

指標がロードバランサに正しく公開されていることを確認するには、次の操作を行います。

次のステップ