3.2. Red Hat OpenShift
일반적으로 서브스크립션 서비스는 Red Hat OpenShift 사용을 물리적 및 가상 시스템에서 클러스터 크기로 추적합니다. 클러스터 크기는 서브스크립션된 모든 노드의 합계입니다. 서브스크립션 노드 는 클러스터를 관리하는 컨트롤 플레인 또는 인프라 노드와 달리 워크로드를 실행하는 컴퓨팅 또는 작업자 노드입니다.
그러나 이 일반 규칙 외에도 추적은 몇 가지 요인에 따라 달라집니다.
- Red Hat OpenShift 제품
- 해당 제품에 대해 구매한 서브스크립션 유형
- 해당 제품의 버전
- 클러스터 크기와 전체 사용량을 결정하는 서브스크립션 조건에 따라 제품의 측정 단위
- 노드 역할을 할당하는 데 사용되는 라벨 및 노드에 Pod 배치를 제어하기 위한 스케줄링 구성을 포함하여 노드 구조
3.2.1. Red Hat OpenShift 추적에 대한 다양한 요인의 영향
서브스크립션 서비스는 물리적 환경 및 가상화 환경 모두에서 완전 관리형 Red Hat OpenShift 제품에 대한 사용량을 추적하고 보고합니다. Red Hat OpenShift 주요 버전 3과 4 간의 보고 모델 변경으로 인해 버전 3의 사용 데이터는 노드 수준에서 보고되는 반면 버전 4의 사용 데이터는 클러스터 수준에서 보고되고 집계됩니다. 다음 정보는 클러스터 수준에서 데이터가 집계된 버전 4 보고 모델에 더 적용할 수 있습니다.
Red Hat OpenShift 사용량 계산에 대한 대부분의 작업은 모니터링 스택 툴과 OpenShift Cluster Manager에서 수행됩니다. 그런 다음 이러한 툴은 사용 보고를 위해 코어 수 또는 vCPU 수 데이터를 서브스크립션 서비스에 전송합니다. 코어 및 vCPU 데이터는 워크로드를 처리하는 클러스터 노드에서 파생되는 서브스크립션 클러스터 크기를 기반으로 합니다.
Red Hat OpenShift Dedicated 또는 Red Hat OpenShift AI와 같은 완전 관리형 Red Hat OpenShift 제품의 경우 사용 수는 일반적으로 시간 기반이며 코어 시간 또는 vCPU 시간과 같은 단위로 측정됩니다. Red Hat 관리 환경의 인프라는 모니터링 스택 툴 및 OpenShift Cluster Manager를 포함하여 Red Hat에서 보다 일관되게 사용할 수 있습니다. 서브스크립션 노드의 데이터, 워크로드를 허용할 수 있는 노드인 코어, vCPU 및 서브스크립션 서비스의 사용 데이터에 대한 데이터와 마찬가지로 쉽게 검색할 수 있습니다.
Red Hat OpenShift Container Platform 연간 및 Red Hat OpenShift Container Platform 온디맨드와 같은 자체 관리형 Red Hat OpenShift 제품의 경우 일반적으로 코어를 기반으로 합니다. 고객 설계 환경의 인프라는 예측할 수 없으며 경우에 따라 사용 계산과 관련된 사실은 특히 가상화 x86 기반 환경에서 덜 액세스할 수 있습니다.
이러한 사실 중 일부는 액세스할 수 없기 때문에 사용 계산 프로세스에는 x86 아키텍처용 가상화된 Red Hat OpenShift 클러스터의 사용 데이터를 분석하고 보고할 때 적용되는 동시 멀티스레딩(하이퍼 스레딩이라고도 함)에 대한 가정이 포함되어 있습니다. 이러한 가정은 일부 공급업체가 게스트에 동시 멀티스레딩에 대한 데이터를 노출하지 않는 하이퍼바이저를 제공하기 때문에 필요합니다.
지속적인 분석 및 고객 피드백은 서브스크립션 서비스 및 관련 데이터 파이프라인 모두에 점진적으로 개선되어 하이퍼 스레딩 사용 사례의 사용 정확성을 개선했습니다. 현재 서브스크립션 서비스 보고에 사용되는 기본 가정은 동시 멀티스레딩이 코어당 스레드 2배로 발생한다는 것입니다. 내부 조사에 따르면 이 요소는 대부분의 고객에게 적용되는 가장 일반적인 구성입니다. 따라서 코어당 2개의 스레드가 일반적인 멀티스레딩 모범 사례와 오류를 따르며 멀티스레딩을 사용하지 않는 고객 중 약 10%를 권장합니다. 이 결정은 관찰된 스레드 수에서 코어 수를 파생할 때 모든 고객에게 가장 적합합니다.
제한된 양의 자체 관리 Red Hat OpenShift 제품은 소켓 기반 서브스크립션으로 사용할 수 있습니다. 이러한 소켓 기반 서브스크립션의 경우 하이퍼바이저는 소켓 수를 운영 체제(일반적으로 Red Hat Enterprise Linux CoreOS)에 보고하고 해당 소켓 수는 사용량 추적을 위해 서브스크립션 서비스로 전송됩니다. 서브스크립션 서비스는 RHEL에 사용되는 페어 소켓 방법을 사용하여 소켓 기반 서브스크립션을 추적하고 보고합니다.
3.2.2. 자체 관리 Red Hat OpenShift 제품에 대한 코어 기반 사용량 계산 워크플로
Red Hat OpenShift Container Platform 연간 및 Red Hat OpenShift Container Platform 온디맨드와 같은 자체 관리형 Red Hat OpenShift 제품의 경우 모니터링 스택 툴에 의해 시작된 계산 프로세스와 OpenShift Cluster Manager는 다음과 같이 작동합니다.
- 클러스터의 경우 노드 유형 및 노드 레이블을 검사하여 서브스크립션 노드를 결정합니다. 서브스크립션 노드 는 워크로드를 허용할 수 있는 노드입니다. 서브스크립션된 노드만 서브스크립션 서비스에 대한 사용량 계산에 기여합니다.
노드의 칩 아키텍처를 검사하여 아키텍처가 x86 기반인지 확인합니다. 아키텍처가 x86 기반인 경우 사용량 계산 중에 하이퍼 스레딩이라고도 하는 동시 멀티스레딩을 고려해야 합니다.
- 칩 아키텍처가 x86 기반이 아닌 경우 모니터링 스택은 서브스크립션 노드와 연결된 코어에 따라 사용량을 계산하고 해당 코어 수를 서브스크립션 서비스로 보냅니다.
- 칩 아키텍처가 x86 기반인 경우 모니터링 스택은 서브스크립션된 노드의 스레드 수에 따라 사용량을 계산합니다. vCPU의 Red Hat 정의에 따라 vCPU와 동등한 스레드입니다. 이 계산 방법은 멀티스레딩 데이터를 정확하게 감지할 수 있는지, 다중 스레딩 데이터가 모호하거나 누락되었거나 멀티 스레딩 데이터가 노드에서 false 값으로 구체적으로 설정되어 있는지 여부를 적용합니다. 2개의 인수에서 멀티스레딩의 글로벌 가정에 따라 스레드 수는 2로 나누어 코어 수를 결정합니다. 그러면 코어 수가 서브스크립션 서비스로 전송됩니다.
3.2.3. 총 클러스터 크기와 비교하여 서브스크립션된 클러스터 크기 이해
Red Hat OpenShift의 경우 서브스크립션 서비스는 클러스터의 전체 크기와 클러스터 내의 노드에만 중점을 두지 않습니다. 서브스크립션 서비스는 워크로드를 처리하는 클러스터 노드인 클러스터의 서브스크립션 부분에 중점을 둡니다. 따라서 서브스크립션 서비스 보고는 클러스터의 전체 크기가 아닌 서브스크립션 클러스터 크기에 대한 것입니다.
3.2.4. 서브스크립션된 클러스터 크기 확인
서브스크립션된 클러스터 크기를 결정하기 위해 데이터 수집 툴과 서브스크립션 서비스는 노드 유형과 노드 레이블의 존재를 모두 검사합니다. 서브스크립션 서비스는 이 데이터를 사용하여 워크로드를 허용할 수 있는 노드를 결정합니다. 예약 가능한 모든 비인프라 노드와 마스터 노드의 합계는 워크로드 사용에 사용할 수 있는 것으로 간주됩니다. 워크로드 사용량에 사용할 수 있는 노드는 서브스크립션된 노드로 계산되고 서브스크립션 클러스터 크기에 기여하며 서브스크립션 서비스의 사용량 보고에 표시됩니다.
다음 정보는 노드 라벨이 해당 노드의 개수에 영향을 미치는 방법에 대한 추가 세부 정보를 제공하고, 차례로 서브스크립션된 클러스터 크기에 영향을 미칩니다. 내부 및 고객 환경 분석에 따르면 이러한 라벨과 라벨 조합이 대부분의 고객 구성을 나타냅니다.
노드 레이블 | 사용량 계산 | 예외 |
---|---|---|
worker | 제공됨 | infra 라벨이 있는 worker 레이블의 조합이 없는 경우 |
작업자 + 인프라 | 제공되지 않음 | 참고참조 |
사용자 정의 라벨 | 제공됨 | master, infra 또는 컨트롤 플레인 라벨과 함께 사용자 정의 라벨의 조합이 없는 경우 |
사용자 정의 레이블 + 마스터, 인프라, 컨트롤 플레인 (모든 조합) | 제공되지 않음 | |
마스터 + 인프라 + 컨트롤 플레인 (모든 조합) | 제공되지 않음 | 마스터 레이블이 있고 노드가 예약 가능으로 표시되지 않는 경우 |
스케줄링 가능한 마스터 + 인프라, 컨트롤 플레인 (모든 조합) | 제공됨 |
Red Hat OpenShift 모니터링 스택 툴의 알려진 문제로 인해 Red Hat OpenShift Container Platform 버전 4.12 이전의 예기치 않은 코어 수가 발생할 수 있습니다. 해당 버전의 경우 작업자 노드 수가 인위적으로 증가할 수 있습니다.
OpenShift Container Platform 버전 4.12 이전 버전의 경우 Machine Config Operator는 노드에서 infra 및 worker 역할의 이중 할당을 지원하지 않습니다. 서브스크립션된 노드 수에 따라 작업자 노드 수가 OpenShift Container Platform에서 올바르며, 이 수는 OpenShift Container Platform 웹 콘솔에 올바르게 표시됩니다.
그러나 모니터링 스택 툴에서 이 데이터를 분석하여 하이브리드 클라우드 콘솔의 서브스크립션 서비스 및 기타 서비스로 보낼 때 Machine Config Operator는 이중 역할을 무시하고 노드의 역할을 worker로 설정합니다. 따라서 작업자 노드 수는 서브스크립션 서비스 및 OpenShift Cluster Manager에서 증가합니다.
3.2.5. 기존 연간 서브스크립션이 있는 Red Hat OpenShift Container Platform
서브스크립션 서비스는 클러스터의 CPU 코어 또는 소켓에서 Red Hat OpenShift Container Platform 사용을 추적하고 다음 버전 지원에 의해 구체화된 대로 이 데이터를 계정 보기에 집계합니다.
- Cryostat 4.1 이상 Red Hat Enterprise Linux CoreOS 기반 노드 또는 Red Hat Enterprise Linux CoreOS 및 RHEL 기반 노드의 혼합 환경
- RHOCP 3.11
Cryostat 서브스크립션 사용의 경우 3과 4 버전 간에 보고 모델이 변경되었습니다. 버전 3 사용은 노드 수준에서 고려되며 버전 4 사용은 클러스터 수준에서 고려됩니다.
Cryostat 주요 버전의 보고 모델의 차이로 인해 Cloud Services 플랫폼의 서브스크립션 서비스와 관련 서비스가 사용량을 계산하는 방법에 몇 가지 차이점이 있습니다. Cryostat 버전 4의 경우 서브스크립션 서비스는 노드 유형 및 노드 레이블을 검사하여 서브스크립션된 클러스터 크기 결정에 설명된 대로 서브스크립션된 클러스터 크기를 계산하기 위한 규칙을 따릅니다. ??? 서브스크립션 서비스는 오버헤드 작업을 수행하고 워크로드를 허용하지 않는 클러스터의 부분을 인식하고 무시합니다. 서브스크립션 서비스는 워크로드를 수락하는 클러스터의 일부만 인식하고 추적합니다.
그러나 Cryostat 버전 3.11의 경우 버전 3세대 보고 모델은 오버헤드 작업을 수행하고 워크로드를 수락하지 않는 클러스터의 부분을 구분할 수 없으므로 보고 모델에서 서브스크립션 및 서브스크립션되지 않은 노드를 찾을 수 없습니다. 따라서 Cryostat 버전 3.11의 경우 서브스크립션 서비스에서 보고한 서브스크립션 데이터의 약 15%가 인프라 관련 작업을 수행하는 서브스크립션되지 않은 노드의 오버헤드라고 가정할 수 있습니다. 이 백분율은 Cryostat 버전 3 설치의 클러스터 오버헤드 분석을 기반으로 합니다. 이 특별한 경우 용량보다 최대 15 %가 표시되는 사용 결과가 여전히 규정 준수 일 수 있습니다.
3.2.6. pay-as-you-go On-Demand 서브스크립션이 있는 Red Hat OpenShift Container Platform 또는 Red Hat OpenShift Dedicated
- Cryostat 또는 OpenShift Dedicated 4.7 이상
서브스크립션 서비스는 다양한 시간 동안 CPU 코어의 클러스터 크기 측정인 core 시간 내에 pay-as-you-go On-Demand 서브스크립션의 usage 또는 OpenShift Dedicated 4.7 이상을 추적합니다. OpenShift Dedicated On-Demand 서브스크립션의 경우 서비스 인스턴스를 사용할 수 있는 경우 인스턴스 시간 내에 컨트롤 플레인 리소스 사용이 추적됩니다. 서브스크립션 서비스는 궁극적으로 계정의 모든 클러스터 코어 시간 및 인스턴스 시간 데이터를 Red Hat Marketplace에 대한 청구 서비스에서 사용하는 월간 총 시간 단위로 집계합니다.
4.1 이상에 대한 정보에 설명된 대로 서브스크립션 서비스는 일반적으로 작업자 노드라고도 하는 컴퓨팅 노드가 포함된 클러스터의 일부만 인식하고 추적합니다.
3.2.7. Red Hat OpenShift Service on AWS Hosted Control Planes with a pre-paid plus On-Demand subscription
서브스크립션 서비스는 AWS Hosted Control Plane(ROSA 호스팅 컨트롤 플레인)의 Red Hat OpenShift Service를 vCPU 시간 및 컨트롤 플레인 시간 내에 사전 유료 온 디맨드 서브스크립션으로 추적합니다.
- vCPU 시간은 사용된 미터 단위로 측정된 총 1시간 동안 하나의 가상 코어(서브스크립션 용어로 정의됨)에서 컴퓨팅 활동에 대한 가용성 측정입니다. ROSA 호스팅 컨트롤 플레인의 경우 컴퓨팅 활동에 대한 가용성은 시간이 지남에 따라 ROSA 호스팅 컨트롤 플레인에 대한 vCPU를 사용할 수 있습니다. 서브스크립션 클러스터는 서브스크립션된 노드로 구성됩니다. 이는 비인프라 노드와 스케줄링 가능한 마스터 노드이며, 해당하는 경우 워크로드 사용에 사용할 수 있습니다. ROSA 호스팅 컨트롤 플레인의 경우 이 측정을 사용하는 다른 제품과 달리 예약 가능한 마스터 노드는 적용되지 않습니다. 서브스크립션된 클러스터의 워크로드를 실행하는 데 사용할 수 있는 vCPU는 vCPU 시간 수에 기여합니다.
- 컨트롤 플레인 시간은 컨트롤 플레인의 가용성 측정입니다. ROSA 호스팅 컨트롤 플레인을 사용하면 각 클러스터에 Red Hat이 소유한 ROSA 호스팅 컨트롤 플레인 서비스 계정에 격리된 전용 컨트롤 플레인이 있습니다.