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 クラスターにインストールされている。

手順

  1. OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators Installed Operators に移動します。
  2. Installed Operators のリストから Red Hat OpenShift GitOps Operator を選択し、ArgoCD タブをクリックします。
  3. シャードの動的スケーリングを有効にする Argo CD インスタンス名 (例: openshift-gitops) を選択します。
  4. 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

    1
    動的スケーリングを有効にするには、dynamicScalingEnabledtrue に設定します。
    2
    minShards は、シャードの最小要件数に設定します。この値は 1 以上に設定する必要があります。
    3
    maxShards を、シャードの最大要件数に設定します。値は minShards の値よりも大きくする必要があります。
    4
    clustersPerShard は、シャードごとに必要なクラスターの数に設定します。この値は 1 以上に設定する必要があります。
  5. Save をクリックします。

    成功通知アラート openshift-gitops has been updated to version <version> が表示されます。

    注記

    デフォルトの openshift-gitops インスタンスを編集すると、Managed resource ダイアログボックスが表示されます。Save をもう一度クリックして、変更を確定します。

検証

namespace の Pod 数をチェックして、シャード化が有効になっていることを確認します。

  1. Workloads StatefulSets に移動します。
  2. Argo CD インスタンスがデプロイされている namespace を Project ドロップダウンリストから選択します (例: openshift-gitops)。
  3. Argo CD インスタンスの名前を持つ StatefulSet オブジェクトの名前 (例: openshift-gitops-apllication-controller) をクリックします。
  4. Pod タブをクリックし、Pod の数が Argo CD YAML ファイルで設定した minShards の値以上であることを確認します。

4.2.2. CLI を使用したシャードの動的スケーリングの有効化

OpenShift CLI (oc) を使用して、シャードの動的スケーリングを有効にできます。

前提条件

  • Red Hat OpenShift GitOps Operator が OpenShift Container Platform クラスターにインストールされている。
  • cluster-admin 権限でクラスターにアクセスできる。

手順

  1. oc ツールを使用して、cluster-admin 権限を持つユーザーとしてクラスターにログインします。
  2. 次のコマンドを実行して、動的スケーリングを有効にします。

    $ 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

検証

  1. 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}

  2. オプション: OpenShift Container Platform Web コンソールで Argo CD インスタンスの設定 YAML ファイルにある設定された spec.controller.sharding プロパティーをチェックして、動的スケーリングが有効になっていることを確認します。
  3. 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 の値以下である必要があります。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.