7.2. vDU 애플리케이션을 실행하기 위한 권장 클러스터 구성
vDU(가상 분산 장치) 애플리케이션을 실행하는 클러스터에는 고도로 조정되고 최적화된 구성이 필요합니다. 다음 정보는 OpenShift Container Platform 4.17 클러스터에서 vDU 워크로드를 지원하는 데 필요한 다양한 요소를 설명합니다.
7.2.1. 단일 노드 OpenShift 클러스터에 권장되는 클러스터 MachineConfig CR
ztp-site-generate
컨테이너에서 추출한 MachineConfig
CR(사용자 정의 리소스)이 클러스터에 적용되었는지 확인합니다. CR은 추출된 out/source-crs/extra-manifest/
폴더에서 확인할 수 있습니다.
ztp-site-generate
컨테이너의 다음 MachineConfig
CR은 클러스터 호스트를 구성합니다.
MachineConfig CR | 설명 |
---|---|
| 컨테이너 마운트 네임스페이스 및 kubelet 구성을 구성합니다. |
|
SCTP 커널 모듈을 로드합니다. 이러한 |
| 클러스터에 대한 kdump 크래시 보고를 구성합니다. |
| 클러스터에서 SR-IOV 커널 인수를 구성합니다. |
|
클러스터가 재부팅된 후 |
| 클러스터 재부팅 후 자동 CRI-O 캐시 초기화를 비활성화합니다. |
| Chrony 서비스에서 시스템 클럭의 일회성 검사 및 조정을 구성합니다. |
|
|
| 클러스터 설치 중에 cgroup v1을 활성화하고 RHACM 클러스터 정책을 생성할 때 사용합니다. |
OpenShift Container Platform 4.14 이상에서는 SiteConfig
CR의 cpu CryostatingMode
필드를 사용하여 워크로드 파티셔닝을 구성합니다.
7.2.2. 권장되는 클러스터 Operator
다음 Operator는 가상화된 vDU(Distributed Unit) 애플리케이션을 실행하는 클러스터에 필요하며 기본 참조 구성의 일부입니다.
- NTO(Node Tuning Operator) 이전에 Performance Addon Operator와 함께 제공된 NTO 패키지 기능은 이제 NTO의 일부입니다.
- PTP Operator
- SR-IOV 네트워크 Operator
- Red Hat OpenShift Logging Operator
- Local Storage Operator
7.2.3. 권장되는 클러스터 커널 구성
항상 클러스터에서 지원되는 최신 실시간 커널 버전을 사용합니다. 클러스터에 다음 구성을 적용해야 합니다.
다음
additionalKernelArgs
가 클러스터 성능 프로필에 설정되어 있는지 확인합니다.apiVersion: performance.openshift.io/v2 kind: PerformanceProfile # ... spec: additionalKernelArgs: - "rcupdate.rcu_normal_after_boot=0" - "efi=runtime" - "vfio_pci.enable_sriov=1" - "vfio_pci.disable_idle_d3=1" - "module_blacklist=irdma" # ...
선택 사항:
hardwareTuning
필드에서 CPU 빈도를 설정합니다.하드웨어 튜닝을 사용하여 예약 및 분리된 코어 CPU의 CPU 빈도를 조정할 수 있습니다. 애플리케이션 등 FlexRAN의 경우 하드웨어 공급업체는 기본 제공된 빈도 아래에서 CPU 빈도를 실행하는 것이 좋습니다. 빈도를 설정하기 전에 프로세서 생성에 대한 최대 빈도 설정에 대한 하드웨어 공급 업체의 지침을 참조하는 것이 좋습니다. 이 예에서는 Sapphire Rapid 하드웨어를 위해 예약 및 분리된 CPU의 frequencies를 보여줍니다.
apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: openshift-node-performance-profile spec: cpu: isolated: "2-19,22-39" reserved: "0-1,20-21" hugepages: defaultHugepagesSize: 1G pages: - size: 1G count: 32 realTimeKernel: enabled: true hardwareTuning: isolatedCpuFreq: 2500000 reservedCpuFreq: 2800000
Tuned
CR의performance-patch
프로필이 관련PerformanceProfile
CR의격리된
CPU 세트와 일치하는 올바른 CPU 격리 세트를 구성하는지 확인합니다. 예를 들면 다음과 같습니다.apiVersion: tuned.openshift.io/v1 kind: Tuned metadata: name: performance-patch namespace: openshift-cluster-node-tuning-operator annotations: ran.openshift.io/ztp-deploy-wave: "10" spec: profile: - name: performance-patch # The 'include' line must match the associated PerformanceProfile name, for example: # include=openshift-node-performance-${PerformanceProfile.metadata.name} # When using the standard (non-realtime) kernel, remove the kernel.timer_migration override from the [sysctl] section data: | [main] summary=Configuration changes profile inherited from performance created tuned include=openshift-node-performance-openshift-node-performance-profile [scheduler] group.ice-ptp=0:f:10:*:ice-ptp.* group.ice-gnss=0:f:10:*:ice-gnss.* group.ice-dplls=0:f:10:*:ice-dplls.* [service] service.stalld=start,enable service.chronyd=stop,disable # ...
7.2.4. 실시간 커널 버전 확인
항상 OpenShift Container Platform 클러스터에서 최신 버전의 실시간 커널을 사용하십시오. 클러스터에서 사용 중인 커널 버전을 잘 모를 경우 현재 실시간 커널 버전을 릴리스 버전과 다음 절차와 비교할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다. -
podman
을 설치했습니다.
프로세스
다음 명령을 실행하여 클러스터 버전을 가져옵니다.
$ OCP_VERSION=$(oc get clusterversion version -o jsonpath='{.status.desired.version}{"\n"}')
릴리스 이미지 SHA 번호를 가져옵니다.
$ DTK_IMAGE=$(oc adm release info --image-for=driver-toolkit quay.io/openshift-release-dev/ocp-release:$OCP_VERSION-x86_64)
릴리스 이미지 컨테이너를 실행하고 클러스터의 현재 릴리스와 함께 패키지된 커널 버전을 추출합니다.
$ podman run --rm $DTK_IMAGE rpm -qa | grep 'kernel-rt-core-' | sed 's#kernel-rt-core-##'
출력 예
4.18.0-305.49.1.rt7.121.el8_4.x86_64
이는 릴리스와 함께 제공되는 기본 실시간 커널 버전입니다.
참고실시간 커널은 커널 버전의
.rt
문자열로 표시됩니다.
검증
클러스터의 현재 릴리스에 대해 나열된 커널 버전이 클러스터에서 실행 중인 실제 실시간 커널과 일치하는지 확인합니다. 다음 명령을 실행하여 실행 중인 실시간 커널 버전을 확인합니다.
클러스터 노드에 대한 원격 쉘 연결을 엽니다.
$ oc debug node/<node_name>
실시간 커널 버전을 확인합니다.
sh-4.4# uname -r
출력 예
4.18.0-305.49.1.rt7.121.el8_4.x86_64