3장. 시작하기 전
Red Hat OpenShift에 AAP를 배포하기 전에 설치 전에 해결해야 할 주요 고려 사항을 이해하는 것이 중요합니다. 이러한 요인은 라이프사이클 전반에 걸쳐 AAP 환경의 상태 및 확장성을 결정합니다.
이 섹션에서는 다음과 같은 주요 고려 사항에 대한 분석을 찾을 수 있습니다.
- Red Hat OpenShift 리소스 관리
- 자동화 컨트롤러 Pod 컨테이너의 크기 조정 권장 사항
- Postgres Pod의 크기 조정 권장 사항
- 자동화 작업 Pod의 크기 조정 권장 사항
- 자동화 허브 Pod의 크기 조정 권장 사항
성공적인 배포의 주요 측면 중 하나는 Red Hat OpenShift 클러스터에 대한 AAP 애플리케이션의 최적 성능과 가용성을 보장하기 위한 Pod 및 컨테이너의 적절한 리소스 관리입니다.
3.1. Pod 및 컨테이너의 리소스 관리
리소스 관리와 관련된 두 가지 주요 리소스는 CPU 및 메모리(RAM)입니다. Red Hat OpenShift는 리소스 요청 및 리소스 제한을 사용하여 컨테이너에서 Pod에서 사용할 수 있는 리소스의 양을 제어합니다.
3.1.1. 리소스 요청이란 무엇입니까?
리소스 요청은 컨테이너가 제대로 실행되고 작동하는 데 필요한 최소한의 리소스 양입니다. Kubernetes 스케줄러는 이 값을 사용하여 컨테이너에 사용 가능한 리소스가 충분한지 확인합니다.
3.1.2. 리소스 제한이란 무엇입니까?
반면 리소스 제한은 컨테이너에서 사용할 수 있는 최대 리소스 양입니다. 리소스 제한을 설정하면 컨테이너에서 필요한 것보다 더 많은 리소스를 사용하지 않으므로 다른 컨테이너가 리소스 중단으로 어려움을 겪을 수 있습니다.
3.1.3. 리소스 관리가 중요한 이유는 무엇입니까?
AAP는 올바른 리소스 요청 및 제한을 설정하는 것이 중요합니다. 리소스 할당이 부적절하면 제어 Pod가 종료되어 자동화 컨트롤러 내에서 모든 자동화 작업이 손실될 수 있습니다.
3.1.4. 리소스 계획
적절한 리소스 관리 값을 설정하는 동안 조직에서는 사용 가능한 리소스에 따라 요구 사항에 가장 적합한 아키텍처를 고려해야 합니다. 예를 들어 Ansible Automation Platform 환경의 고가용성이 자동화 작업을 실행할 수 있는 용량을 극대화하는 것보다 더 중요한지 여부를 결정합니다.
자세한 내용은 이 참조 아키텍처에 사용된 기존 Red Hat OpenShift 환경을 살펴보겠습니다. 다음으로 구성됩니다.
- 컨트롤 플레인 노드 세 개
- 작업자 노드 3개
이러한 각 노드는 4개의 vCPU와 16GiB의 RAM으로 구성됩니다.
Red Hat OpenShift 클러스터의 컨트롤 플레인 노드는 애플리케이션을 실행하지 않으므로 사용 가능한 3개의 작업자 노드에 중점을 둡니다.
이러한 3개의 작업자 노드를 사용하면 Ansible Automation Platform 가용성을 극대화하거나 최대한 많은 자동화 작업을 실행하는 등 더 중요한 것이 무엇인지 확인해야 합니다.
가용성이 가장 중요한 경우 두 컨트롤 Pod가 별도의 작업자 노드(예: worker0
및 worker
1)에서 실행되는 반면 모든 자동화 작업은 나머지 작업자 노드(예: worker2) 내에서 실행되도록 하는 데 중점을 둡니다.
그러나 이렇게 하면 자동화 작업에 사용할 수 있는 리소스가 절반으로 줄어들어 제어 Pod와 자동화 Pod를 동일한 작업자 노드에서 실행하지 않는 것이 좋습니다.
실행할 자동화 작업의 양을 극대화하는 것이 주요 목표인 경우, 컨트롤 Pod에 하나의 작업자 노드(예: worker0
)를 사용하고 자동화 작업을 실행하는 데 나머지 두 개의 작업자 노드(예: worker1
및 worker2
)를 사용하면 제어 Pod의 중복성이 없는 경우 작업의 실행 가능한 리소스가 두 배로 증가합니다.
물론 이 솔루션은 둘 다 동일하게 중요할 수 있으며, 이 경우 두 요구 사항을 충족하기 위해 추가 리소스(예: 더 많은 작업자 노드 추가)가 필요합니다.