5.7.12. 他のバックエンドおよび重み
ルートは通常、kind: Service
の to:
トークンを使用したサービスと関連付けられます。ルートへの全要求は、負荷分散ストラテジーをベースに、サービス内のエンドポイントにより処理されます。
サービスは最大 4 つまでルートをサポートすることができます。各サービスが処理する要求の大きさは、サービスの weight
により統制されます。
最初のサービスは、以前と同様に to:
トークンを使用して入り、サービスは 3 つまで alternateBackend:
トークンを使用して入ることができます。各サービスは、デフォルトの kind: Service
が指定されている必要があります。
各サービスには、weight
が関連付けられています。サービスが処理する要求の大きさは、weight
/ sum_of_all_weights
で算出されます。サービスにエンドポイントが複数ある場合には、サービスの重みが 1 以上、各エンドポイントに割り当てられるように、エンドポイント全体に分散されます。サービスの weight
が 0 の場合は、サービスの各エンドポイントには 0 が割り当てられます。
weight
は 0-256 の範囲になければなりません。デフォルトは 100 です。weight
が 0 の場合、サービスはロードバランシングに参加しませんが、既存の持続する接続を引き続き提供します。
また、alternateBackends
を使用する場合は、roundrobin
ロードバランシング戦略を使用して、重み
に基づいてリクエストが想定どおりにサービスに分散されるようにします。roundrobin
は、ルートのアノテーション を使用してルートに設定するか、環境変数を使用して一般的なルーターには設定できます。
以下は、A/B デプロイメント向けに別のバックエンドを使用したルート設定例です。
alternateBackends および重みが指定されたルート
apiVersion: v1 kind: Route metadata: name: route-alternate-service annotations: haproxy.router.openshift.io/balance: roundrobin 1 spec: host: www.example.com to: kind: Service name: service-name 2 weight: 20 3 alternateBackends: - kind: Service name: service-name2 4 weight: 10 5 - kind: Service name: service-name3 6 weight: 10 7