Kubernetes で実行されるほとんどのサービスは、コマンドラインまたは構成のオーバーライドでスケーリングできます。Apigee ハイブリッド ランタイム サービスのスケーリング パラメータは、overrides.yaml
ファイルで設定できます。
サービス | 実装方法 | スケーリング |
---|---|---|
Cassandra | ApigeeDatastore(CRD) | Cassandra のスケーリングをご覧ください。 |
Ingress / LoadBalancer | Deployment | Anthos Service Mesh は、水平 Pod 自動スケーリング(HPA)を使用します。 |
Logger | DaemonSet | すべてのノードで DaemonSet が Pod のレプリカを管理します。そのため、Pod 自体をスケーリングすると DaemonSet もスケーリングされます。 |
MART Apigee Connect Watcher |
ApigeeOrganization(CRD) | 構成でスケーリングするには、 mart: replicaCountMax: 2 replicaCountMin: 1 watcher: replicaCountMax: 2 replicaCountMin: 1 connectAgent: replicaCountMax: 2 replicaCountMin: 1 これらの Deployment では自動スケーリングに HorizontalPodAutoscaler が使用されます。Deployment オブジェクトの 構成プロパティの設定の詳細については、ランタイム プレーン コンポーネントを管理するをご覧ください。 |
Runtime Synchronizer UDCA |
ApigeeEnvironment(CRD) | 構成でスケーリングするには、オーバーライド ファイルで udca 、synchronizer 、runtime スタンザに対する replicaCountMin プロパティの値を増やします。次に例を示します。synchronizer: replicaCountMax: 10 replicaCountMin: 1 runtime: replicaCountMax: 10 replicaCountMin: 1 udca: replicaCountMax: 10 replicaCountMin: 1 注: これらの変更は、オーバーライド ファイル内のすべての環境に適用されます。環境ごとにスケーリングをカスタマイズする場合は、後述の高度な構成をご覧ください。 これらの Deployment では自動スケーリングに HorizontalPodAutoscaler が使用されます。Deployment オブジェクトの 構成プロパティの設定の詳細については、ランタイム プレーン コンポーネントを管理するをご覧ください。 |
高度な構成
状況によっては、高度なスケーリング オプションを使用する必要が生じることがあります。次のような場合です。
- 環境ごとに異なるスケーリング オプションを設定する。たとえば、env1 の
minReplica
が 5 で、env2 のminReplica
が 2 の場合など。 - 環境内のコンポーネントごとに異なるスケーリング オプションを設定する。たとえば、
udca
コンポーネントのmaxReplica
が 5 で、synchronizer
コンポーネントのmaxReplica
が 2 の場合など。
次の例では、kubernetes patch
コマンドを使用して runtime
コンポーネントの maxReplicas
プロパティを変更する方法を示します。
- 次のコマンドで、使用する環境変数を作成します。
export ENV=my-environment-name export NAMESPACE=apigee #the namespace where apigee is deployed export COMPONENT=runtime #can be udca or synchronizer export MAX_REPLICAS=2 export MIN_REPLICAS=1
- パッチを適用します。この例では、
PATH
内にkubectl
があることを前提としています。kubectl patch apigeeenvironment -n $NAMESPACE \ $(kubectl get apigeeenvironments -n $NAMESPACE -o jsonpath='{.items[?(@.spec.name == "'$ENV'" )]..metadata.name}') \ --patch "$(echo -e "spec:\n components:\n $COMPONENT:\n autoScaler:\n maxReplicas: $MAX_REPLICAS\n minReplicas: $MIN_REPLICAS")" \ --type merge
- 次のコマンドで変更を確認します。
kubectl get hpa -n $NAMESPACE