1장. Red Hat OpenShift GitOps 설치 준비
OpenShift Container Platform에 Red Hat OpenShift GitOps를 설치하기 전에 다음 크기 조정 요구 사항을 읽으십시오. 이 정보에는 Red Hat OpenShift GitOps Operator에서 인스턴스화하는 기본 Argo CD 인스턴스의 크기 조정 세부 정보가 포함됩니다.
1.1. GitOps의 크기 조정 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift GitOps는 클라우드 네이티브 애플리케이션에 대한 연속 배포를 구현하는 선언적 방법입니다. GitOps를 통해 애플리케이션의 CPU 및 메모리 요구 사항을 정의하고 구성할 수 있습니다.
Red Hat OpenShift GitOps Operator를 설치하면 리소스가 정의된 제한 내의 네임스페이스에 배포됩니다. 네임스페이스에 리소스 할당량이 구성되어 있고 설치에 제한이 설정되지 않은 경우 Operator 설치가 실패할 수 있습니다. 또한 리소스가 충분하지 않으면 클러스터가 Argo CD 관련 Pod를 예약할 수 없습니다.
다음 표에서는 기본 워크로드에 대한 리소스 요청 및 제한을 자세히 설명합니다.
| 워크로드 | CPU 요청 | CPU 제한 | 메모리 요청 | 메모리 제한 |
|---|---|---|---|---|
| openshift-gitops-application-controller | 250m | 2 | 1024Mi | 2048Mi |
| applicationset-controller | 250m | 2 | 512Mi | 1024Mi |
| openshift-gitops-server | 125m | 500m | 128Mi | 256Mi |
| openshift-gitops-repo-server | 250m | 1 | 256Mi | 1024Mi |
| openshift-gitops-redis | 250m | 500m | 128Mi | 256Mi |
| openshift-gitops-dex-server | 250m | 500m | 128Mi | 256Mi |
| openshift-gitops-redis-ha-haproxy | 250m | 500m | 128Mi | 256Mi |
선택적으로 oc 명령과 함께 ArgoCD 사용자 정의 리소스를 사용하여 세부 사항을 확인하고 수정할 수도 있습니다.
oc edit argocd <name of argo cd> -n namespace
1.1.1. Argo CD redis의 크기 조정 요구 사항 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift GitOps Operator에서 애플리케이션의 용량 계획 단계 중에 메모리, CPU 및 스토리지와 같은 적절한 양의 리소스가 argocd-redis Pod에 할당되었는지 확인해야 합니다.
Redis 포드의 기본 메모리 제한은 많은 리소스를 관리하기에 충분하지 않을 수 있습니다. 이러한 경우 애플리케이션 배포가 확장되는 동안 메모리 제한을 늘리고 메모리 지표를 모니터링하고 메모리 구성을 변경해야 합니다.
다음 명령은 openshift-gitops 네임스페이스에서 Redis Pod의 메모리 구성 예를 보여줍니다.
$ oc get argocd -n openshift-gitops openshift-gitops -o json | jq '.spec.redis.resources'
출력 예:
{
"limits": {
"cpu": "500m",
"memory": "256Mi"
},
"requests": {
"cpu": "250m",
"memory": "128Mi"
}
}
다음과 같습니다.
limits- Pod에 할당된 가장 높은 리소스 제한 임계값을 지정합니다.
requests- Pod에 할당된 가장 낮은 리소스 제한 임계값을 지정합니다.
다음 예제 명령은 Redis 포드의 메모리 구성을 변경합니다. 가장 높은 리소스 제한 임계값은 8Gi로 설정되고 가장 낮은 값은 256 Mi로 설정됩니다.
$ oc patch argocd -n openshift-gitops openshift-gitops --type json -p '[{"op": "replace", "path": \
"/spec/redis/resources/limits/memory", "value": "8Gi"}, {"op": "replace", "path": \
"/spec/redis/resources/requests/memory", "value": "256Mi"}]'
출력 예:
argocd.argoproj.io/openshift-gitops patched