4.14. 配置资源配额或请求

使用 Argo CD 自定义资源,您可以为 Argo CD 工作负载创建、更新和删除资源请求和限值。

4.14.1. 使用资源请求和限值配置工作负载

您可以使用资源请求和限值创建 Argo CD 自定义资源工作负载。当您要在配置了资源配额的命名空间中部署 Argo CD 实例时,这是必需的。

以下 Argo CD 实例部署 Argo CD 工作负载,如 Application ControllerApplicationSet ControllerDexRedisRepo Server, 和 Server,以及带有资源请求和限值的 Server。您还可以以同样的方式创建具有资源要求的其他工作负载。

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

4.14.2. 修补 Argo CD 实例以更新资源要求

您可在安装后更新所有或任何工作负载的资源要求。

流程

更新 Argo CD 命名空间中的 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"}]'

4.14.3. 删除资源请求

您还可以在安装后删除所有或任何工作负载的资源要求。

流程

删除 Argo CD 命名空间中的 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"}]'