Flex Gateway新着情報
Governance新着情報
Monitoring API Manager高可用性 (HA) 環境では、水平スケーリングにより負荷が複数の Flex Gateway インスタンスに分散されます。デフォルトでは、Flex Gateway の Helm チャートは 1 つのレプリカで設定されます。より多くの Flex Gateway レプリカを名前空間にリリースするには、次のいずれかの設定を提供します。
レプリカ数を設定する: 作成する Flex Gateway レプリカの固定数を設定します。
自動スケーリングを設定する: CPU、メモリ、およびその他の設定に基づいてレプリカを自動的に生成します。
次のいずれかの方法で、Flex Gateway (flex-gateway) のデフォルトの Helm チャート設定を見つけます。
ArtifactHUB の flex-gateway ページを開く
ターミナルウィンドウから helm show values <helm-repository-name>/<helm-chart-name>
を実行する (例: helm show values flex-gateway/flex-gateway
)。
次の前提条件が準備されていることを確認します。
Flex Gateway デプロイメントまたは登録済み Flex Gateway インスタンス (ゲートウェイ)
ゲートウェイの登録およびデプロイメントプロセスについては、Flex Gateway のセットアップ or Kubernetes クラスターでの Flex Gateway の使用開始 を参照してください。
Flex Gateway デプロイメント用の Kubernetes クラスター
必要なレプリカの数を設定して検証します。新しいレプリカで既存のレプリカは置き換えられます。Flex Gateway の新しいバージョンが使用可能な場合、このコマンドにより古いレプリカバージョンが最新バージョンに置き換えられます。
実行する手順は、Helm チャートがインストールされているかどうかにより異なります。
名前空間の Helm チャートがインストールされている場合、次のコマンドを実行します。
helm -n <namespace> upgrade \ <release-name> <helm-repository-name>/<helm-chart-name> \ --reuse-values \ --set replicaCount=<number of replicas>
helm -n gateway upgrade \
ingress flex-gateway/flex-gateway \
--reuse-values \
--set replicaCount=2
正常に終了すると、このコマンドでは次の例のような出力が印刷されます。
Release "ingress" has been upgraded. Happy Helming! NAME: ingress LAST DEPLOYED: Mon Apr 17 15:00:09 2023 NAMESPACE: gateway STATUS: deployed REVISION: 27 TEST SUITE: None
Helm チャートがインストールされていない場合、次のコマンドを実行します。
helm -n <namespace> \ upgrade -i --create-namespace \ <release-name> <helm-repository-name>/<helm-chart-name> \ --set-file registration.content=<registration file> \ --set replicaCount=<number of replicas>
helm -n gateway \
upgrade -i --create-namespace \
ingress flex-gateway/flex-gateway \
--set-file registration.content=registration.yaml \
--set replicaCount=2
正常に終了すると、このコマンドでは次の例のような出力が印刷されます。
Release "ingress" does not exist. Installing it now. NAME: ingress LAST DEPLOYED: Mon Apr 17 15:32:50 2023 NAMESPACE: gateway STATUS: deployed REVISION: 1 TEST SUITE: None
次のコマンドを実行して、レプリカの作成を検証します。
kubectl get rs -n <namespace>
kubectl get rs -n gateway
正常に終了すると、このコマンドでは次の例のような出力が印刷されます。
NAME DESIRED CURRENT READY AGE ingress-5b7474b8f6 2 2 2 70s
水平ポッド自動スケーリングでは、CPU、メモリ、および対象と動作に関するその他の設定に基づいて Flex Gateway レプリカが自動的に生成されます。これらの設定についての詳細は、「自動スケーリングパラメーター」を参照してください。
自動スケーリングパラメーターを使用して Helm チャートを更新する手順は、次のとおりです。
自動スケーリング設定を使用して YAML ファイルを作成し、要件に合わせて設定を変更します。
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 11
targetCPUUtilizationPercentage: 50
targetMemoryUtilizationPercentage: 50
behavior:
scaleDown:
selectPolicy: Min
stabilizationWindowSeconds: 100
policies:
- type: Percent
value: 70
periodSeconds: 30
scaleUp:
selectPolicy: Max
stabilizationWindowSeconds: 100
policies:
- type: Percent
value: 70
periodSeconds: 30
名前空間の Helm チャートがインストールされている場合、次のコマンドを実行して自動スケーリング設定を適用します。
helm -n <namespace> upgrade \ <release-name> <helm-repository-name>/<helm-chart-name> \ --reuse-values \ -f <your-autoscaling-configuration-yaml>
helm -n gateway upgrade \
ingress flex-gateway/flex-gateway \
--reuse-values \
-f autoscaling.yaml
正常に終了すると、このコマンドでは次の例のような出力が印刷されます。
Release "ingress" has been upgraded. Happy Helming! NAME: ingress LAST DEPLOYED: Tue Apr 18 15:46:38 2023 NAMESPACE: gateway STATUS: deployed REVISION: 33 TEST SUITE: None
Helm チャートがインストールされていない場合、次のコマンドを実行して自動スケーリング設定を適用します。
helm -n <namespace> \ upgrade -i --create-namespace \ <release-name> <helm-repository-name>/<helm-chart-name> \ --set-file registration.content=<registration file> \ -f <your-autoscaling-configuration-yaml>
helm -n gateway \
upgrade -i --create-namespace \
ingress flex-gateway/flex-gateway \
--set-file registration.content=registration.yaml \
-f autoscaling.yaml
正常に終了すると、このコマンドでは次の例のような出力が印刷されます。
NAME: ingress LAST DEPLOYED: Tue Apr 18 15:50:29 2023 NAMESPACE: gateway STATUS: deployed REVISION: 1 TEST SUITE: None
次のコマンドを実行して、自動スケーリング設定を検証します。
kubectl get hpa -n <namespace>
kubectl get hpa -n gateway
このコマンドでは次の例のような出力が印刷されます。
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE ingress Deployment/ingress 66%/50%, 5%/50% 2 11 2 59s
自動スケーリングを使用するには、Horizontal Pod Autoscaler (HPA) を有効にして、自動スケーリング動作を定義するための他の Helm チャート設定を定義します。
パラメーター | 説明 |
---|---|
|
Horizontal Pod Autoscaler (HPA) が有効であるかどうかを示すブール値。デフォルトは |
|
HPA スケーラーが作成できるレプリカの最小数。デフォルトは |
|
HPA スケーラーが作成できるレプリカの最大数。デフォルトは |
|
デプロイされているすべてのポッドの平均 CPU 使用率を設定するリソースメトリクス。デフォルトは |
|
デプロイされているすべてのポッドの平均メモリ使用率を表す文字列。デフォルトは |
|
Kubernetes で |
|
HPA スケーラーでレプリカ数を増加 (
|
自動スケーリングについての詳細は Kubernetes ドキュメントを参照してください。