Red Hat Training
A Red Hat training course is available for OpenShift Container Platform
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