このセクションでは、Pod またはワークロードからロードバランサに 1 つ以上の指標を送信する方法について説明します。
これらの指標は、実行しているサービスまたはアプリケーションから取得されます。たとえば、vLLM Engine によって公開される指標をご覧ください。
ロードバランサは、このデータを使用率ベースのロード バランシングで使用して、ワークロードをより効率的に分散できます。たとえば、この機能を使用して、ワークロードの使用量が多いリージョンをモニタリングし、ロードバランサがより多くのリソースが使用可能なリージョンにトラフィックをリダイレクトできるようにします。vLLM の例では、使用率の追跡に役立つ指標は gpu_cache_usage_perc
です。
要件
Pod の要件は次のとおりです。
- Rapid チャンネルのクラスタで GKE 1.34.1-gke.1127000 以降。
- Gateways API が有効になっている。
- パフォーマンス プロファイルで水平 Pod 自動スケーリングを使用する。
指標の要件は次のとおりです。
- 指標は HTTP エンドポイントでアクセスできる必要があります。
- 指標の形式は Prometheus 標準にする必要があります。
ロードバランサには指標名に関する制限があります。たとえば、名前は 64 文字以下にする必要があります。制限事項の一覧については、
BackendService
の API リファレンスでbackends[].customMetrics[].name
フィールドの詳細をご覧ください。サービスの指標がこれらの制限に準拠していない場合は、
exportName
フィールドを使用して名前を変更できます。0 ~ 1 の範囲のゲージ指標のみがサポートされます。1 は使用率 100% を表します。
指標ラベルは無視されるため、指標の区別には使用できません。ワークロードが同じ指標を複数のラベルで公開していないことを確認します。
クラスタごとに最大 10 個の指標を公開できます。他のサービスには独自の上限があります。たとえば、ロードバランサの制限事項と要件をご覧ください。クラスタは複数のロードバランサを使用できます。
ロード バランシングの指標を公開する
公開する指標を選択します。サーバーが公開し、前のセクションに記載されている要件を満たす指標であれば、どれでも選択できます。
次のカスタム リソースを追加します。指標と 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
フィールドの詳細をご覧ください。
次のコマンドを使用してリソースを適用します。
kubectl apply -f FILE_NAME.yaml
FILE_NAME
は、YAML ファイルの名前に置き換えます。カスタム リソースを追加すると、指標が自動スケーリング API に push されます。指標は数秒ごとに読み取られ、ロードバランサに送信されます。
2 つ目の指標を公開するには、同じ手順で別のカスタム リソースを作成します。
指標をロードバランサに公開したので、これらの指標を使用するようにロードバランサを構成できます。詳細については、カスタム指標を使用するようにロードバランサを構成するをご覧ください。
ロードバランサの操作の詳細については、GKE Service の使用率ベースのロード バランシングを構成するをご覧ください。
ロードバランサに公開された指標のトラブルシューティング
指標がロードバランサに正しく公開されていることを確認するには、次の操作を行います。
- GKE Metrics Agent のログを確認します。指標を公開しようとしたときにエラーが発生した場合、ログにエラーが記録されている可能性があります。エラーの検索方法の詳細については、システム指標のトラブルシューティングをご覧ください。
- ロードバランサをドライラン モードで使用すると、受信したすべての指標を確認できます。
dryRun
フラグを使用して指標をテストする方法については、カスタム指標を使用するようにロードバランサを構成するをご覧ください。
次のステップ
- 使用率ベースのロード バランシングの詳細については、GKE Service の使用率ベースのロードバランサについてをご覧ください。
- GKE Service の使用率ベースのロード バランシングを構成する方法を確認する。