4.2. Argo CD Application Controller のシャードの動的スケーリングを有効にする手順
シャードの動的スケーリングはテクノロジープレビューのみの機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
デフォルトでは、Argo CD Application Controller はクラスターをシャードに無期限に割り当てます。round-robin
シャーディングアルゴリズムを使用している場合、この静的割り当てにより、特にレプリカが追加または削除されたときに、シャードが不均一に分散される可能性があります。シャードの動的なスケーリングを有効にして、特定の時点で Argo CD Application Controller が管理するクラスターの数に基づいてシャードの数を自動的に調整できます。これにより、シャードのバランスが確保され、コンピューティングリソースの使用が最適化されます。
動的スケーリングを有効にした後は、シャード数を手動で変更できません。システムは、特定の時点で Argo CD Application Controller が管理するクラスターの数に基づいて、シャードの数を自動的に調整します。
4.2.1. Web コンソールでのシャードの動的スケーリングの有効化
OpenShift Container Platform Web コンソールを使用して、シャードの動的スケーリングを有効にできます。
前提条件
-
cluster-admin
権限でクラスターにアクセスできる。 - OpenShift Container Platform Web コンソールにアクセスできる。
- Red Hat OpenShift GitOps Operator が OpenShift Container Platform クラスターにインストールされている。
手順
-
OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators
Installed Operators に移動します。 - Installed Operators のリストから Red Hat OpenShift GitOps Operator を選択し、ArgoCD タブをクリックします。
-
シャードの動的スケーリングを有効にする Argo CD インスタンス名 (例:
openshift-gitops)
を選択します。 YAML タブをクリックし、以下のように
spec.controller.sharding
プロパティーを編集して設定します。動的なスケーリングを有効にした Argo CD YAML ファイルの例
apiVersion: argoproj.io/v1beta1 kind: ArgoCD metadata: name: openshift-gitops namespace: openshift-gitops spec: controller: sharding: dynamicScalingEnabled: true 1 minShards: 1 2 maxShards: 3 3 clustersPerShard: 1 4
Save をクリックします。
成功通知アラート
openshift-gitops has been updated to version <version>
が表示されます。注記デフォルトの
openshift-gitops
インスタンスを編集すると、Managed resource ダイアログボックスが表示されます。Save をもう一度クリックして、変更を確定します。
検証
namespace の Pod 数をチェックして、シャード化が有効になっていることを確認します。
-
Workloads
StatefulSets に移動します。 -
Argo CD インスタンスがデプロイされている namespace を Project ドロップダウンリストから選択します (例:
openshift-gitops
)。 -
Argo CD インスタンスの名前を持つ
StatefulSet
オブジェクトの名前 (例:openshift-gitops-apllication-controller)
をクリックします。 -
Pod タブをクリックし、Pod の数が Argo CD
YAML
ファイルで設定したminShards
の値以上であることを確認します。
4.2.2. CLI を使用したシャードの動的スケーリングの有効化
OpenShift CLI (oc
) を使用して、シャードの動的スケーリングを有効にできます。
前提条件
- Red Hat OpenShift GitOps Operator が OpenShift Container Platform クラスターにインストールされている。
-
cluster-admin
権限でクラスターにアクセスできる。
手順
-
oc
ツールを使用して、cluster-admin
権限を持つユーザーとしてクラスターにログインします。 次のコマンドを実行して、動的スケーリングを有効にします。
$ oc patch argocd <argocd_instance> -n <namespace> --type=merge --patch='{"spec":{"controller":{"sharding":{"dynamicScalingEnabled":true,"minShards":<value>,"maxShards":<value>,"clustersPerShard":<value>}}}}'
コマンドの例
$ oc patch argocd openshift-gitops -n openshift-gitops --type=merge --patch='{"spec":{"controller":{"sharding":{"dynamicScalingEnabled":true,"minShards":1,"maxShards":3,"clustersPerShard":1}}}}' 1
- 1
- このサンプルコマンドは、
openshift-gitops
namespace のopenshift-gitops
Argo CD インスタンスの動的スケーリングを有効にし、シャードの最小数を1
に、シャードの最大数を3
に、およびシャードごとのクラスター数を1
に設定します。minShard
およびclustersPerShard
の値は、1
以上に設定する必要があります。maxShard
の値は、minShard
の値以下である必要があります。
出力例
argocd.argoproj.io/openshift-gitops patched
検証
Argo CD インスタンスの
spec.controller.sharding
プロパティーを確認します。$ oc get argocd <argocd_instance> -n <namespace> -o jsonpath='{.spec.controller.sharding}'
コマンドの例
$ oc get argocd openshift-gitops -n openshift-gitops -o jsonpath='{.spec.controller.sharding}'
シャードの動的スケーリングが有効になっている場合の出力例
{"dynamicScalingEnabled":true,"minShards":1,"maxShards":3,"clustersPerShard":1}
-
オプション: OpenShift Container Platform Web コンソールで Argo CD インスタンスの設定
YAML
ファイルにある設定されたspec.controller.sharding
プロパティーをチェックして、動的スケーリングが有効になっていることを確認します。 Argo CD Application Controller Pod の数を確認します。
$ oc get pods -n <namespace> -l app.kubernetes.io/name=<argocd_instance>-application-controller
コマンドの例
$ oc get pods -n openshift-gitops -l app.kubernetes.io/name=openshift-gitops-application-controller
出力例
NAME READY STATUS RESTARTS AGE openshift-gitops-application-controller-0 1/1 Running 0 2m 1
- 1
- Argo CD Application Controller Pod の数は、
minShard
の値以下である必要があります。