5.15. リソースクォータまたはリクエストの設定

Argo CD Custom Resource を使用すると、Argo CD ワークロードのリソース要求と制限を作成、更新、および削除できます。

5.15.1. リソースのリクエストと制限によるワークロードの設定

リソースの要求と制限を使用して、Argo CD カスタムリソースワークロードを作成できます。これは、リソースクォータが設定されている namespace に Argo CD インスタンスをデプロイする場合に必要です。

次の Argo CD インスタンスは、Application ControllerApplicationSet ControllerDexRedisRepo ServerServer などの Argo CD ワークロードをリソースの要求と制限とともにデプロイします。同じ方法で、リソース要件を持つ他のワークロードを作成することもできます。

apiVersion: argoproj.io/v1alpha1
kind: ArgoCD
metadata:
  name: example
spec:
  server:
    resources:
      limits:
        cpu: 500m
        memory: 256Mi
      requests:
        cpu: 125m
        memory: 128Mi
    route:
      enabled: true
  applicationSet:
    resources:
      limits:
        cpu: '2'
        memory: 1Gi
      requests:
        cpu: 250m
        memory: 512Mi
  repo:
    resources:
      limits:
        cpu: '1'
        memory: 512Mi
      requests:
        cpu: 250m
        memory: 256Mi
  dex:
    resources:
      limits:
        cpu: 500m
        memory: 256Mi
      requests:
        cpu: 250m
        memory: 128Mi
  redis:
    resources:
      limits:
        cpu: 500m
        memory: 256Mi
      requests:
        cpu: 250m
        memory: 128Mi
  controller:
    resources:
      limits:
        cpu: '2'
        memory: 2Gi
      requests:
        cpu: 250m
        memory: 1Gi

5.15.2. Argo CD インスタンスにパッチを適用してリソース要件を更新する

インストール後に、すべてまたは一部のワークロードのリソース要件を更新できます。

手順

Argo CD namespace の Argo CD インスタンスの Application Controller リソース要求を更新します。

oc -n argocd patch argocd example --type='json' -p='[{"op": "replace", "path": "/spec/controller/resources/requests/cpu", "value":"1"}]'

oc -n argocd patch argocd example --type='json' -p='[{"op": "replace", "path": "/spec/controller/resources/requests/memory", "value":"512Mi"}]'

5.15.3. リソース要求の削除

インストール後に、すべてまたは一部のワークロードのリソース要件を削除することもできます。

手順

Argo CD namespace の Argo CD インスタンスの Application Controller リソース要求を削除します。

oc -n argocd patch argocd example --type='json' -p='[{"op": "remove", "path": "/spec/controller/resources/requests/cpu"}]'

oc -n argocd argocd patch argocd example --type='json' -p='[{"op": "remove", "path": "/spec/controller/resources/requests/memory"}]'