Red Hat OpenShift에서 용량 및 오버커밋을 관리하는 것은 복잡해 보일 수 있지만 몇 가지 주요 개념을 이해하면 훨씬 간단합니다. 다음은 포드 요청, 제한, 설정을 위한 모범 사례에 대해 알아야 할 사항과 각 주제가 효과적인 용량 관리 및 오버커밋에 어떻게 기여하는지에 대한 분석입니다.
포드 요청
포드 요청은 컨테이너를 실행하는 데 필요한 최소값으로 지정하는 컴퓨팅 리소스(예: 메모리 또는 CPU)의 양입니다. 예를 들어 메모리 요청을 1Gi로 설정하면 스케줄러는 노드에 배치하기 전에 포드에 1Gi 이상의 메모리를 사용할 수 있는지 확인합니다.
용량 관리 이점: 각 포드에 필수 리소스를 예약하여 리소스 부족을 방지하고 모든 포드가 효과적으로 운영하는 데 필요한 최소한의 리소스를 보유하도록 보장합니다.
포드 제한
반면 포드 제한은 포드에서 사용할 수 있는 최대 리소스 양입니다. 메모리 제한을 2Gi로 설정하면 포드에서 최대 2Gi의 메모리를 사용할 수 있지만 그 이상은 사용할 수 없습니다. 이 작업은 cGroups를 통해 커널에서 적용하므로 단일 포드가 너무 많은 리소스를 사용하여 다른 포드에 영향을 주지 않도록 방지하는 데 도움이 됩니다.
용량 관리 이점: 개별 포드의 리소스 과용을 방지하여 실행 중인 모든 포드에 리소스를 공정하게 배포합니다.
오버커밋
제한이 요청을 초과하면 오버커밋이 발생합니다. 예를 들어 포드의 메모리 요청이 1Gi이고 제한이 2Gi인 경우 1Gi 요청을 기반으로 예약되지만 최대 2Gi를 사용할 수 있습니다. 이는 보장된 메모리 양의 두 배를 사용할 수 있으므로 포드가 200% 오버커밋되었음을 의미합니다.
용량 관리 이점: 오버커밋은 클러스터 리소스를 보다 효율적으로 활용할 수 있도록 도와줍니다. 즉, 포드가 보장된 리소스를 초과하여 사용할 수 있도록 하여, 유휴 리소스가 있을 때 이를 적극적으로 활용할 수 있게 해줍니다. 다만, 이 리소스는 보장된 것이 아니므로, 상황에 따라 제한될 수 있습니다.

요청 및 제한을 설정하지 않은 결과
요청 및 제한은 Red Hat OpenShift 인스턴스를 효율적이고 예측 가능한 방식으로 실행하는 데 도움이 됩니다. 이를 정의하지 않으면 그로 인한 결과가 발생합니다.
보장된 리소스 없음
리소스 요청을 설정하지 않으면 스케줄러에서 포드에 대해 특정 양의 CPU 또는 메모리를 보장하지 않습니다. 이로 인해 노드에 과부하가 걸리면 성능이 저하되거나 포드 오류가 발생할 수 있습니다.
리소스 사용량에 상한선 없음
제한 없이 컨테이너는 CPU와 메모리를 필요한 만큼 사용할 수 있습니다. 이로 인해 한 컨테이너에서 사용 가능한 모든 리소스를 사용하여 다른 컨테이너가 실패하거나 제거되는 리소스 고갈이 발생할 수 있습니다.
용량 관리 이점: 요청과 제한을 둘 다 설정하면 균형 잡힌 리소스 할당이 보장되어 언더프로비저닝(리소스 고갈) 및 오버프로비저닝(리소스 독점)을 방지합니다.
요청 및 제한 설정 모범 사례
일반적으로 요청 및 제한을 설정할 때 따라야 할 5가지 모범 사례가 있습니다.
- 항상 메모리 및 CPU 요청을 설정합니다.
- 스로틀링이 발생할 수 있으므로 CPU 제한을 설정하지 않도록 합니다.
- 워크로드를 모니터링합니다. 시간 경과에 따른 평균 사용량을 기반으로 요청을 설정합니다.
- 메모리 제한을 요청의 스케일 팩터에 맞춰 설정합니다.
- 수직 포드 자동 스케일러(VPA)를 사용하여 시간이 지남에 따라 이러한 값을 튜닝하고 조정합니다.
용량 관리 이점: 이러한 사례를 통해 각 포드가 필요한 리소스를 확보하는 동시에 오버커밋을 방지하여 리소스를 효율적으로 활용하고 클러스터 성능을 개선할 수 있습니다.
적절한 크기 조정을 위해 수직 포드 자동 스케일러(VPA) 사용
Red Hat OpenShift의 수직 포드 자동 스케일러(VPA) 구성 요소는 포드에 더 많은 리소스가 필요한 경우 포드에 할당되는 CPU 및 메모리의 양을 조정합니다. VPA를 사용하는 경우 다음 지침에 유의합니다.
- 권장 모드에서만 VPA 설치 및 구성
- 포드에서 실제 부하 시뮬레이션 실행
- 권장 값을 관찰하고 그에 따라 포드 리소스 조정
권장 모드만 사용해야 하는 이유
VPA를 자동 모드로 설정하면 포드가 다시 시작되어 권장 값으로 조정됩니다. 인플레이스 VPA(재시작 없음)는 Red Hat OpenShift 4.16을 기준으로 현재 알파 단계에 있습니다.
추천 프로그램의 모니터링 시간 조정
VPA는 사용자 정의 추천 프로그램을 지원하므로 필요에 따라 모니터링 시간을 1일, 1주 또는 1개월로 설정할 수 있습니다. 자세한 내용은 수직 포드 자동 스케일러를 사용하여 포드 리소스 수준 자동 조정을 참조하세요.
용량 관리 이점: VPA는 실제 사용량 패턴에 따라 리소스 요청 및 제한을 동적으로 조정하여 지원합니다. 이렇게 하면 최적의 리소스 할당이 보장되고 오버커밋이 최소화됩니다.
Red Hat OpenShift의 시스템 예약 리소스
리소스를 시스템 예약으로 지정할 수 있습니다. 즉, Red Hat OpenShift는 Kubelet 및 컨테이너 런타임과 같은 시스템 수준 프로세스에 노드 리소스(CPU 및 메모리)의 일부를 할당합니다. 이를 통해 얻을 수 있는 이점은 다음과 같습니다.
- 시스템 프로세스에 대한 전용 리소스를 보장하여 애플리케이션 워크로드와의 경합 방지
- 필수 시스템 서비스에 대한 리소스 고갈을 방지하여 노드 안정성 및 성능 개선
- 클러스터의 안정적인 운영과 예측 가능한 성능 유지 관리
OpenShift 도큐멘테이션에서 자체 관리형 OpenShift 클러스터에 대한 지침을 따라 노드에 대한 자동 리소스 할당을 활성화할 수 있습니다. Red Hat OpenShift Service on AWS(ROSA)와 같은 관리형 OpenShift 인스턴스가 이를 관리합니다.
용량 관리의 이점: 시스템 프로세스에 리소스를 할당하면 필수 서비스가 원활하게 실행되어 시스템 수준의 리소스 경합으로 인한 애플리케이션 성능 중단을 방지할 수 있습니다.
클러스터 자동 스케일러
클러스터 자동 스케일러는 필요에 따라 노드를 자동으로 추가하거나 제거합니다. 이 작업은 수평 포드 자동 스케일러(HPA)와 함께 작동합니다. 자세한 내용은 OpenShift 클러스터 자동 스케일러 가이드 및 자동 스케일링(autoscaling)에 대한 OpenShift 도큐멘테이션을 참조하세요.
용량 관리 이점: 클러스터 자동 스케일러를 사용하면 클러스터에 현재 워크로드를 처리하는 데 적합한 수의 노드를 보유하게 되며 필요에 따라 자동으로 확장 또는 축소됩니다. 이를 통해 최적의 리소스 활용도와 비용 효율성을 유지할 수 있습니다.
ClusterResourceOverride 오퍼레이터(CRO)
ClusterResourceOverride 오퍼레이터는 리소스 할당을 최적화하여 클러스터 전반에서 효율적이고 균형 잡힌 사용량을 보장하는 데 도움이 됩니다.
예시 구성:
- 요청된 CPU: 100밀리코어(0.1코어)
- 요청된 메모리: 200MiB(메가바이트)
- CPU 제한: 200밀리코어(0.2코어)
- 메모리 제한: 400MiB
재정의:
- CPU 요청 재정의: 요청된 용량의 50%
- 메모리 요청 재정의: 요청된 용량의 75%
- CPU 제한 재정의: 요청의 2배
- 메모리 제한 재정의: 요청의 2배
조정된 리소스:
- 요청된 CPU: 100밀리코어 × 50% = 50밀리코어(0.05코어)
- 요청된 메모리: 200MiB × 75% = 150MiB
- CPU 제한: 50밀리코어 × 2 = 100밀리코어(0.1코어)
- 메모리 제한: 150MiB × 2 = 300MiB
자세한 내용은 클러스터 리소스 재정의 오퍼레이터를 사용한 클러스터 수준의 오버커밋을 참조하세요.
용량 관리 이점: 기본 리소스 요청 및 제한을 재정의하여 리소스를 효율적으로 할당하여 저활용과 오버커밋을 방지할 수 있습니다.
확장성 범위(Scalability envelope)
확장성 범위는 더 높은 차원의 큐브라고 생각합니다. 이 범위를 벗어나면 성능 서비스 수준 목표(SLO)를 충족하고 Red Hat OpenShift 클러스터가 원활하게 작동합니다. 한 차원을 따라 이동하면 다른 차원의 용량이 감소합니다. OpenShift 대시보드를 사용하여 그린 존(클러스터 오브젝트를 확장할 수 있는 허용 범위 내의 영역) 및 레드 존(이를 넘어서서 클러스터 오브젝트를 확장해서는 안 되는 영역)을 모니터링할 수 있습니다.

자세한 내용은 노드 메트릭 대시보드를 참조하세요.
용량 관리 이점: 확장성 범위 내에서 이해하고 운영하면 다양한 부하에서 클러스터가 안정적으로 작동하여 리소스 병목 현상을 방지하고 일관된 성능을 보장하는 데 도움이 됩니다.
포드 자동 스케일링
Red Hat OpenShift에서 포드를 자동 스케일링하는 방법에는 여러 가지가 있습니다. 수직 포드 자동 스케일링(VPA)에 대해서는 이미 논의했지만, 다른 전략도 있습니다.
수평 포드 자동 스케일링(HPA)
HPA는 복제본을 추가하여 포드를 수평으로 확장합니다. 이는 프로덕션 환경의 스테이트리스(stateless) 애플리케이션에 유용하며, 부하를 더 잘 처리하고 OOM(메모리 부족) 강제 종료를 방지하여 애플리케이션 성능과 가동 시간을 개선합니다. 자세한 내용은 수평 포드 자동 스케일러를 사용하여 포드 자동 확장을 참조하세요.
커스텀 메트릭스 오토스케일러
이렇게 하면 프로덕션, 테스트, 개발을 비롯한 다양한 환경에 적합한 사용자 정의 지표를 기반으로 포드를 확장할 수 있습니다. 특정 부하 지점을 기반으로 모니터링하고 확장하여 애플리케이션 가동 시간과 성능을 개선합니다. 자세한 내용은 커스텀 메트릭스 오토스케일러 오퍼레이터 개요를 참조하세요.
용량 관리의 이점: 워크로드 수요에 따른 자동 스케일링은 애플리케이션이 다양한 부하를 처리하는 데 필요한 리소스를 항상 보유하도록 보장하여 성능과 리소스 효율성을 모두 향상합니다.
OpenShift 스케줄러
OpenShift 스케줄러의 LowNodeUtilization 프로필은 노드 전체에 포드를 균등하게 분산하여 각 노드의 리소스 사용량을 줄입니다. 장점은 다음과 같습니다.
- 필요한 노드 수를 최소화하여 클라우드 환경에서 비용 효율성 실현
- 클러스터 전반의 리소스 할당 개선
- 데이터 센터의 에너지 효율성
- 노드 과부하를 방지하여 성능 향상
- 워크로드 분산을 통한 리소스 고갈 방지
자세한 내용은 스케줄러 프로필을 사용하여 포드 스케줄링을 참조하세요.
용량 관리 이점: 스케줄러는 리소스를 균등하게 배포하여 핫스팟과 활용도가 낮은 노드를 방지하여 클러스터의 균형과 효율성을 높입니다.
OpenShift 디스케줄러
AffinityAndTaints 프로필은 포드 간 반선호도, 노드 선호도 및 노드 오염을 위반하는 포드를 제거합니다. 장점은 다음과 같습니다.
- 최적화되지 않은 포드 배치 수정
- 노드 선호도 및 반선호도 적용
- 호환되는 포드만 노드에 유지되도록 노드 오염 변경 사항에 응답
자세한 내용은 디스케줄러를 사용하여 포드 제거
를 참조하세요.용량 관리 이점: 디스케줄러를 사용하면 시간이 지남에 따라 최적의 포드 배치를 유지하여 클러스터의 변경 사항에 맞게 조정하고 리소스를 효율적으로 사용하는 동시에 선호도 및 오염 제약 조건을 준수할 수 있습니다.
이러한 모범 사례를 따르고 OpenShift에서 사용할 수 있는 툴을 사용하면 용량과 오버커밋을 효과적으로 관리하여 애플리케이션을 원활하고 효율적으로 실행할 수 있습니다.
Red Hat Advanced Cluster Management Right Sizing
Red Hat Advanced Cluster Management for Kubernetes - Right Sizing은 이제 향상된 개발자 프리뷰로 제공됩니다. RHACM Right Sizing의 목표는 플랫폼 엔지니어링 팀에 CPU 및 메모리 기반 네임스페이스 수준 권장 사항을 제공하는 것입니다. RHACM Right Sizing은 현재 Prometheus 기록 규칙에 의해 구동되므로 다양한 집계 기간(1, 2, 5, 10, 30, 60, 90일)에 걸쳐 최댓값 및 피크값 로직을 적용할 수 있습니다.
RHACM Right Sizing을 사용하면 다음과 같은 이점이 있습니다.
- 리소스를 가장 비효율적으로 사용하는 부분 식별(예: 저활용을 초래하는 영역)
- 조직 전반에 투명성을 증진하고 관련 대화 유도
- RHACM을 통해 플릿 관리를 개선하여 배포해야 하는 관리형 클러스터 수에 관계없이 비용 효율성 및 리소스 최적화 실현
- RHACM 콘솔의 일부로 전용 Grafana 대시보드에서 제공되는 간소화된 사용자 탐색
용량 관리 이점: RHACM Right Sizing 기능을 통해 플랫폼 엔지니어는 Red Hat Advanced Cluster Management for Kubernetes 콘솔의 일부인 전용 Grafana 대시보드에 표시되는 CPU 및 메모리 기반의 올바른 크기 조정 권장 사항에 액세스할 수 있습니다. 따라서 활용률은 시간이 지남에 따라 달라지므로 사용자는 더 긴 기간을 포함하여 다양한 집계 기간을 기반으로 하여 주요 권장 사항에 액세스할 수 있습니다. 따라서 이러한 권장 사항은 사용자 친화적이고 쉽게 사용할 수 있습니다(아래 그림 참조).


설정 방법
전제 조건 및 설치 단계에 대한 자세한 내용은 전용 블로그에서 확인할 수 있습니다. 다음 GitHub 리포지토리도 참조할 수 있습니다. 기술 프리뷰 릴리스를 준비하면서 다양한 수준에서 권장 사항을 제공하는 것도 평가하고 있습니다. Insights 비용 관리 리소스 최적화 기능(아래 참조)과 달리 RHACM Right Sizing은 Red Hat과 분석 데이터를 공유할 필요가 없는 솔루션입니다.
Red Hat Insights 비용 관리를 사용하여 OpenShift를 위한 리소스 최적화
정의
Red Hat Insights 비용 관리는 Red Hat의 SaaS 솔루션으로, 온프레미스를 포함한 모든 클라우드 및 OpenShift 비용에 대한 단일 창을 제공합니다.
Red Hat Insights 비용 관리의 일부인 OpenShift를 위한 리소스 최적화가 최근 정식 출시되었습니다. Red Hat Insights의 리소스 최적화 기능의 목표는 개발 팀에 구체적이고 실행 가능한 CPU 및 메모리 권장 사항을 제공하는 것입니다. 이 기능은 Kruize 오픈소스 프로젝트에서 제공합니다.
장점
OpenShift를 위한 리소스 최적화는 개발자에게 컨테이너, 배포, deploymentconfigs, statefulsets 및 replicasets를 포함한 컨테이너 수준 권장 사항을 제공합니다.
두 가지 권장 사항 세트가 생성됩니다.
- 비용 권장 사항. 비용을 절감하거나 네임스페이스 할당량, 노드 크기 또는 노드 수를 조정하여 클러스터 사용량을 극대화하려는 경우 이 권장 사항을 확인하세요.
- 성능 권장 사항 애플리케이션의 성능을 하드웨어 수준의 성능으로 구현하는 것이 최우선 과제인 경우 이 권장 사항을 확인하세요.
현재 두 가지 유형의 권장 사항은 24시간, 7일, 15일 관찰을 기반으로 하는 세 가지 기간 동안 생성됩니다.
Red Hat Insights 비용 관리를 통해 생성된 OpenShift 권장 사항에 대한 리소스 최적화는 비용을 절감하고 애플리케이션 성능을 극대화하는 데 도움이 될 수 있으며, 워크로드의 금전적 비용과 함께 맥락에 맞게 이러한 권장 사항을 확인할 수 있습니다.

설정 방법
OpenShift 권장 사항에 대한 리소스 최적화는 Red Hat Insights 비용 관리의 또 다른 기능입니다. Red Hat Insights 비용 관리 치트 시트에 따라 설정하고, 풍부한 비용 관리 API를 사용하여 선호하는 비즈니스 인텔리전스 또는 시각화 툴(예: Microsoft Excel, Power BI 또는 Grafana)에서 자체적인 대시보드를 생성하세요. 복잡한 구성이나 처리를 위해 값비싼 리소스를 할당할 필요가 없습니다. 비용 관리 메트릭 오퍼레이터가 분석을 위해 사용량 데이터를 Red Hat Hybrid Cloud Console에 제출하고 비용 및 리소스 인사이트를 생성합니다(클러스터가 인터넷에 연결되지 않은 경우 연결 해제된 모드 도큐멘테이션확인).
저자 소개
Vanessa is a Senior Product Manager in the Observability group at Red Hat, focusing on both OpenShift Analytics and Observability UI. She is particularly interested in turning observability signals into answers. She loves to combine her passions: data and languages.
Pau Garcia Quiles joined Red Hat in 2021 as Principal Product Manager. He has 20 years of experience in IT in various roles, both as a vendor and as a customer, systems administrator, software developer and project manager. He has been involved in open source for more than 15 years, most notably as a Debian maintainer, KDE developer and Uyuni developer.
유사한 검색 결과
채널별 검색
오토메이션
기술, 팀, 인프라를 위한 IT 자동화 최신 동향
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
오픈 하이브리드 클라우드
하이브리드 클라우드로 더욱 유연한 미래를 구축하는 방법을 알아보세요
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
가상화
온프레미스와 클라우드 환경에서 워크로드를 유연하게 운영하기 위한 엔터프라이즈 가상화의 미래