×

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

配置具有资源请求和限制的工作负载

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

以下 Argo CD 实例部署了 Argo CD 工作负载,例如 `Application Controller`、`ApplicationSet Controller`、`Dex`、`Redis`、`Repo Server` 和 `Server`,并带有资源请求和限制。您也可以以相同的方式创建其他具有资源需求的工作负载。

apiVersion: argoproj.io/v1beta1
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

修补 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"}]'

删除资源请求

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

步骤

删除 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"}]'