4.13. 리소스 할당량 또는 요청 구성

Argo CD 사용자 정의 리소스를 사용하면 Argo CD 워크로드에 대한 리소스 요청 및 제한을 생성, 업데이트 및 삭제할 수 있습니다.

4.13.1. 리소스 요청 및 제한을 사용하여 워크로드 구성

리소스 요청 및 제한을 사용하여 Argo CD 사용자 지정 리소스 워크로드를 생성할 수 있습니다. 이는 리소스 할당량으로 구성된 네임스페이스에 Argo CD 인스턴스를 배포하려는 경우 필요합니다.

다음 Argo CD 인스턴스는 애플리케이션 컨트롤러 , ApplicationSet 컨트롤러 ,Dex,Redis,Repo Server, 및 Server 와 같은 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

4.13.2. Argo CD 인스턴스 패치를 적용하여 리소스 요구 사항을 업데이트

전체 또는 설치 후 워크로드에 대한 리소스 요구 사항을 업데이트할 수 있습니다.

절차

Argo CD 네임스페이스에서 Argo CD 인스턴스의 애플리케이션 컨트롤러 리소스 요청을 업데이트합니다.

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.13.3. 리소스 요청 제거

설치 후 전체 또는 모든 워크로드에 대한 리소스 요구 사항을 제거할 수도 있습니다.

절차

Argo CD 네임스페이스에서 Argo CD 인스턴스의 애플리케이션 컨트롤러 리소스 요청을 제거합니다.

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