3.8. 통신사 핵심 RDS 구성 요소


다음 섹션에서는 통신 핵심 워크로드를 실행하기 위해 클러스터를 구성하고 배포하는 데 사용하는 다양한 OpenShift Container Platform 구성 요소 및 구성에 대해 설명합니다.

3.8.1. CPU 파티셔닝 및 성능 튜닝

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명
CPU 분할은 민감한 워크로드를 일반 작업, 인터럽트, 드라이버 작업 대기열에서 분리하여 성능을 향상시키고 지연 시간을 줄입니다. 이러한 보조 프로세스에 할당된 CPU를 다음 섹션에서 예약해야 합니다. 하이퍼스레딩이 활성화된 시스템에서는 CPU가 하나의 하이퍼스레드입니다.
제한 및 요구사항
  • 운영 체제에는 커널 네트워킹을 포함한 모든 지원 작업을 수행하려면 일정 양의 CPU가 필요합니다.

    • DPDK(사용자 플레인 네트워킹 애플리케이션)만 있는 시스템에는 운영 체제 및 인프라 구성 요소를 위해 예약된 코어(2개의 하이퍼 스레딩)가 하나 이상 필요합니다.
  • 하이퍼스레딩이 활성화된 시스템에서는 핵심 형제 스레드가 항상 동일한 CPU 풀에 있어야 합니다.
  • 예약 및 분리된 코어 세트에는 모든 CPU 코어가 포함되어야 합니다.
  • 각 NUMA 노드의 코어 0은 예약된 CPU 세트에 포함되어야 합니다.
  • 저지연 작업에는 인터럽트, 커널 스케줄러 또는 플랫폼의 다른 부분의 영향을 받지 않도록 특별한 구성이 필요합니다. 자세한 내용은 성능 프로파일 생성을 참조하십시오.
엔지니어링 고려 사항
  • OpenShift Container Platform 4.19부터 cgroup v1은 더 이상 지원되지 않으며 제거되었습니다. 이제 모든 워크로드는 cgroup v2 와 호환되어야 합니다. 자세한 내용은 Red Hat OpenShift 워크로드 컨텍스트에서 Red Hat Enterprise Linux 9의 변경 사항 (Red Hat Knowledgebase)을 참조하세요.
  • 필요한 최소 예약 용량( systemReserved )은 Red Hat Knowledgebase 솔루션의 지침을 따라 찾을 수 있습니다 . OCP 4 노드에서 시스템에 예약하는 것이 권장되는 CPU 및 메모리 양은 얼마입니까?
  • 실제 필수 예약된 CPU 용량은 클러스터 구성 및 워크로드 특성에 따라 다릅니다.
  • 이 예약된 CPU 값은 전체 코어(2하이퍼 스레드) 정렬으로 반올림해야 합니다.
  • CPU 파티셔닝이 변경되면 해당 머신 구성 풀에 포함된 노드가 비워지고 재부팅됩니다.
  • 예약된 CPU는 OpenShift Container Platform 노드의 할당 가능한 용량에서 제거되므로 Pod 밀도가 감소합니다.
  • 실시간 작업 부하 힌트는 실시간 지원 작업 부하에 대해 활성화되어야 합니다.

    • 실시간 workloadHint 설정을 적용하면 nohz_full 커널 명령줄 매개변수가 적용되어 고성능 애플리케이션의 성능이 향상됩니다. workloadHint 설정을 적용하면 cpu-quota.crio.io: "disable" 주석과 적절한 runtimeClassName 값이 없는 격리된 포드나 버스트 가능한 포드는 CRI-O 속도 제한의 대상이 됩니다. workloadHint 매개변수를 설정할 때는 성능 향상과 CRI-O 속도 제한의 잠재적 영향 간의 상충 관계를 알고 있어야 합니다. 필수 포드에 올바르게 주석이 달려 있는지 확인하세요.
  • IRQ 친화성 지원이 없는 하드웨어는 분리된 CPU에 영향을 미칩니다. 모든 서버 하드웨어는 IRQ 친화성을 지원해야 하며, 이를 통해 CPU QoS가 보장된 포드가 할당된 CPU를 최대한 활용할 수 있습니다.
  • OVS는 네트워크 트래픽 요구 사항에 맞게 cpuset 항목을 동적으로 관리합니다. 기본 CNI에서 높은 네트워크 처리량을 처리하기 위해 추가 CPU를 예약할 필요가 없습니다.
  • 클러스터에서 실행되는 작업 부하가 커널 수준 네트워킹을 사용하는 경우 하드웨어가 허용한다면 참여 NIC의 RX/TX 대기열 수를 16 또는 32개로 설정해야 합니다. 기본 대기열 수를 알아두세요. 구성이 없으면 기본 대기열 수는 온라인 CPU당 RX/TX 대기열 1개입니다. 이로 인해 너무 많은 인터럽트가 할당될 수 있습니다.
  • irdma 커널 모듈은 코어 수가 많은 시스템에서 너무 많은 인터럽트 벡터를 할당하는 결과를 초래할 수 있습니다. 이러한 상황을 방지하기 위해 참조 구성에서는 PerformanceProfile 의 커널 명령줄 인수를 통해 이 커널 모듈이 로드되는 것을 제외합니다. 일반적으로 핵심 작업에는 이 커널 모듈이 필요하지 않습니다.

    참고

    일부 드라이버는 대기열 수를 줄인 후에도 인터럽트를 할당 해제하지 않습니다.

3.8.2. 서비스 메시

설명
통신사 핵심 클라우드 네이티브 기능(CNF)에는 일반적으로 서비스 메시 구현이 필요합니다. 특정 서비스 메시 기능과 성능 요구 사항은 애플리케이션에 따라 달라집니다. 서비스 메시 구현 및 구성을 선택하는 것은 이 문서의 범위를 벗어납니다. 구현 시 포드 네트워킹에서 발생하는 추가 대기 시간을 포함하여 클러스터 리소스 사용 및 성능에 미치는 서비스 메시의 영향을 고려해야 합니다.

3.8.3. 네트워킹

다음 다이어그램은 통신사 핵심 참조 설계 네트워킹 구성을 설명합니다.

그림 3.2. 통신사 코어 참조 설계 네트워킹 구성

통신사 코어 참조 설계 네트워킹 구성 개요
이번 릴리스의 새로운 기능
  • 포드 수준 본딩으로 통신사 핵심 검증을 확장합니다.
  • SR-IOV 운영자에 대해 리소스 인젝터에서 실패한 정책을 실패한 정책으로 이동하는 기능을 지원합니다.
참고

metallb-system 네임스페이스에 사용자 정의 FRRConfiguration CR이 있는 경우 이를 openshift-network-operator 네임스페이스로 이동해야 합니다.

설명
  • 클러스터는 듀얼 스택 IP(IPv4 및 IPv6)로 구성되었습니다.
  • 검증된 물리적 네트워크 구성은 두 개의 듀얼 포트 NIC로 구성됩니다. 한 NIC는 기본 CNI(OVN-Kubernetes)와 IPVLAN 및 MACVLAN 트래픽에서 공유되고, 두 번째 NIC는 SR-IOV VF 기반 Pod 트래픽에 전담됩니다.
  • 두 개의 NIC 포트가 연결된 활성-활성 IEEE 802.3ad LACP 모드에서 Linux 본딩 인터페이스( bond0 )가 생성됩니다. 상단형 랙 네트워킹 장비는 mLAG(멀티 섀시 링크 집계) 기술을 지원하고 이에 맞게 구성되어야 합니다.
  • VLAN 인터페이스는 기본 CNI를 포함하여 bond0 위에 생성됩니다.
  • 본드 및 VLAN 인터페이스는 설치 과정의 네트워크 구성 단계에서 클러스터 설치 시 생성됩니다. 기본 CNI에서 사용하는 vlan0 VLAN을 제외한 다른 모든 VLAN은 Kubernetes NMstate Operator를 사용하여 2일차 활동 중에 생성할 수 있습니다.
  • MACVLAN 및 IPVLAN 인터페이스는 해당 CNI를 통해 생성됩니다. 그들은 동일한 기본 인터페이스를 공유하지 않습니다. 자세한 내용은 "클러스터 네트워크 운영자"를 참조하세요.
  • SR-IOV VF는 SR-IOV 네트워크 운영자가 관리합니다.
  • LoadBalancer 서비스 뒤에 있는 포드에 대해 일관된 소스 IP 주소를 보장하려면 EgressIP CR을 구성하고 podSelector 매개변수를 지정합니다.
  • 다음을 수행하여 서비스 트래픽 분리를 구현할 수 있습니다.

    1. NodeNetworkConfigurationPolicy CR을 사용하여 노드에서 VLAN 인터페이스와 특정 커널 IP 경로를 구성합니다.
    2. 각 VLAN에 대해 MetalLB BGPPeer CR을 생성하여 원격 BGP 라우터와 피어링을 설정합니다.
    3. 선택한 BGPPeer 리소스 목록에 어떤 IP 주소 풀을 광고해야 하는지 지정하기 위해 MetalLB BGPAdvertisement CR을 정의합니다. 다음 다이어그램은 특정 VLAN 인터페이스를 통해 특정 서비스 IP 주소가 외부에 광고되는 방식을 보여줍니다. 서비스 경로는 BGPAdvertisement CR에 정의되어 있으며 IPAddressPool1BGPPeer1 필드의 값으로 구성됩니다.

그림 3.3. 통신사 코어 참조 설계 MetalLB 서비스 분리

통신사 코어 참조 설계 MetalLB 서비스 분리

3.8.3.1. CNO(Cluster Network Operator)

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

클러스터 네트워크 운영자(CNO)는 클러스터 설치 중에 기본 OVN-Kubernetes 네트워크 플러그인을 포함한 클러스터 네트워크 구성 요소를 배포하고 관리합니다. CNO를 사용하면 기본 인터페이스 MTU 설정, 포드 이그레스를 위한 노드 라우팅 테이블을 사용하는 OVN 게이트웨이 구성, MACVLAN과 같은 추가 보조 네트워크를 구성할 수 있습니다.

네트워크 트래픽 분리를 지원하기 위해 여러 네트워크 인터페이스가 CNO를 통해 구성됩니다. 이러한 인터페이스로의 트래픽은 NMState Operator를 사용하여 적용되는 정적 경로를 통해 구성됩니다. Pod 트래픽이 올바르게 라우팅되도록 하려면 OVN-K는 routingViaHost 옵션을 활성화하여 구성됩니다. 이 설정은 Pod 송신 트래픽에 대해 OVN이 아닌 커널 라우팅 테이블 및 적용된 정적 경로를 사용합니다.

Whereabouts CNI 플러그인은 DHCP 서버를 사용하지 않고 추가 Pod 네트워크 인터페이스에 대한 동적 IPv4 및 IPv6 주소를 제공하는 데 사용됩니다.

제한 및 요구사항
  • IPv6 지원에는 OVN-Kubernetes가 필요합니다.
  • 대규모 MTU 클러스터 지원을 사용하려면 연결된 네트워크 장치를 동일하거나 더 큰 값으로 설정해야 합니다. 최대 8900의 MTU 크기가 지원됩니다.
  • MACVLAN과 IPVLAN은 동일한 기본 커널 메커니즘, 특히 rx_handler 에 의존하기 때문에 동일한 기본 인터페이스에 함께 위치할 수 없습니다. 이 핸들러를 사용하면 호스트가 패킷을 처리하기 전에 타사 모듈이 들어오는 패킷을 처리할 수 있으며, 네트워크 인터페이스당 하나의 핸들러만 등록될 수 있습니다. MACVLAN과 IPVLAN은 모두 작동하기 위해 각자의 rx_handler를 등록해야 하므로 충돌이 발생하고 동일한 인터페이스에 공존할 수 없습니다. 자세한 내용은 소스 코드를 검토하세요.

  • 대체 NIC 구성으로는 공유 NIC를 여러 개의 NIC로 분할하거나 단일 듀얼 포트 NIC를 사용하는 것이 있지만, 이러한 구성은 테스트 및 검증되지 않았습니다.
  • 단일 스택 IP 구성을 사용하는 클러스터는 검증되지 않습니다.
  • Network CR의 reachabilityTotalTimeoutSeconds 매개변수는 EgressIP 노드 도달성 검사 총 시간 초과를 초 단위로 구성합니다. 권장 값은 1 초입니다.
  • Pod 수준 SR-IOV 본딩 모드는 active-backup 으로 설정되어야 하며 miimon 의 값도 설정되어야 합니다( 100 이 권장됨).
엔지니어링 고려 사항
  • Pod 송신 트래픽은 routingViaHost 옵션을 사용하여 커널 라우팅 테이블에 의해 처리됩니다. 적절한 정적 경로를 호스트에 구성해야 합니다.

3.8.3.2. 로드 밸런서

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
중요

metallb-system 네임스페이스에 사용자 정의 FRRConfiguration CR이 있는 경우 이를 openshift-network-operator 네임스페이스로 이동해야 합니다.

설명
MetalLB는 표준 라우팅 프로토콜을 사용하여 베어 메탈 Kubernetes 클러스터에 대한 로드 밸런서 구현입니다. Kubernetes 서비스는 클러스터의 호스트 네트워크에도 추가된 외부 IP 주소를 가져올 수 있습니다. MetalLB Operator는 클러스터에서 MetalLB 인스턴스의 수명 주기를 배포하고 관리합니다. 일부 사용 사례에서는 MetalLB에서 사용할 수 없는 기능(상태 저장 부하 분산 등)이 필요할 수 있습니다. 필요한 경우 외부 타사 로드 밸런서를 사용할 수 있습니다. 외부 로드 밸런서의 선택 및 구성은 이 사양의 범위를 벗어납니다. 외부 타사 로드 밸런서를 사용하는 경우 통합 작업에는 모든 성능 및 리소스 사용률 요구 사항이 충족되는지 확인하기에 충분한 분석이 포함되어야 합니다.
제한 및 요구사항
  • MetalLB에서 상태 저장 로드 밸런싱을 지원하지 않습니다. 워크로드 CNF에 대한 요구 사항인 경우 대체 로드 밸런서 구현을 사용해야 합니다.
  • 클러스터의 호스트 네트워크로 클라이언트에서 외부 IP 주소를 라우팅할 수 있는지 확인해야 합니다.
엔지니어링 고려 사항
  • MetalLB는 통신사 핵심 사용 모델의 BGP 모드에서만 사용됩니다.
  • 통신사 코어 사용 모델의 경우 MetalLB는 OVN-Kubernetes 네트워크 플러그인의 ovnKubernetesConfig.gatewayConfig 사양에서 routingViaHost=true를 설정한 경우에만 지원됩니다. "클러스터 네트워크 운영자"에서 routingViaHost를 참조하세요.
  • MetalLB의 BGP 구성은 네트워크와 피어의 요구 사항에 따라 달라질 것으로 예상됩니다.

    • 주소, 집계 길이, 자동 할당 등의 다양한 변수로 주소 풀을 구성할 수 있습니다.
    • MetalLB는 경로를 알리는 데만 BGP를 사용합니다. 이 모드에서는 transmitIntervalminimumTtl 매개변수만 관련됩니다. BFD 프로필의 다른 매개변수는 기본값에 가깝게 유지되어야 합니다. 값이 짧으면 거짓 부정이 발생하고 성능에 영향을 미칠 수 있기 때문입니다.

3.8.3.3. SR-IOV

이번 릴리스의 새로운 기능
  • SR-IOV 운영자에 대해 리소스 인젝터에서 실패한 정책을 실패한 정책으로 이동하는 것을 지원합니다.
설명
SR-IOV를 사용하면 물리적 기능(PF)을 여러 개의 가상 기능(VF)으로 나눌 수 있습니다. 그러면 Pod를 분리한 상태로 유지하면서 더 높은 처리량 성능을 달성하기 위해 VFS를 여러 Pod에 할당할 수 있습니다. SR-IOV Network Operator는 SR-IOV CNI, 네트워크 장치 플러그인 및 SR-IOV 스택의 기타 구성 요소를 프로비저닝하고 관리합니다.
제한 및 요구사항
  • 특정 네트워크 인터페이스만 지원됩니다. 자세한 내용은 "지원되는 기기"를 참조하세요.
  • SR-IOV 및 IOMMU 활성화: SR-IOV 네트워크 운영자는 커널 명령줄에서 IOMMU를 자동으로 활성화합니다.
  • SR-IOV VF는 PF에서 링크 상태 업데이트를 수신하지 않습니다. 링크 다운 감지가 필요한 경우 프로토콜 수준에서 수행해야 합니다.
  • MultiNetworkPolicy CR은 netdevice 네트워크에만 적용할 수 있습니다. 이는 구현에서 vfio 인터페이스를 관리할 수 없는 iptables를 사용하기 때문입니다.
엔지니어링 고려 사항
  • vfio 모드의 SR-IOV 인터페이스는 일반적으로 처리량 또는 짧은 대기 시간이 필요한 애플리케이션의 추가 보조 네트워크를 활성화하는 데 사용됩니다.
  • SriovOperatorConfig CR은 명시적으로 생성되어야 합니다. 이 CR은 참조 구성 정책에 포함되어 있으므로 초기 배포 중에 생성됩니다.
  • UEFI 보안 부팅이나 커널 잠금을 통한 펌웨어 업데이트를 지원하지 않는 NIC는 애플리케이션 작업 부하에 필요한 VF(가상 기능) 수를 지원할 수 있도록 충분한 VF를 미리 구성해야 합니다. Mellanox NIC의 경우 SR-IOV 네트워크 운영자에서 Mellanox 공급업체 플러그인을 비활성화해야 합니다. 자세한 내용은 SR-IOV 네트워크 장치 구성을 참조하십시오.
  • 포드가 시작된 후 VF의 MTU 값을 변경하려면 SriovNetworkNodePolicy MTU 필드를 구성하지 마세요. 대신 Kubernetes NMState Operator를 사용하여 관련 PF의 MTU를 설정하세요.

3.8.3.4. NMState Operator

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명
Kubernetes NMState Operator는 클러스터 노드 전체에서 상태 기반 네트워크 구성을 수행하기 위한 Kubernetes API를 제공합니다. 보조 인터페이스에서 네트워크 인터페이스 구성, 고정 IP 및 DNS, VLAN, 트렁크, 본딩, 정적 경로, MTU를 활성화하고 보조 인터페이스에서 무차별 모드를 활성화합니다. 클러스터 노드는 각 노드의 네트워크 인터페이스 상태를 API 서버에 정기적으로 보고합니다.
제한 및 요구사항
해당 없음
엔지니어링 고려 사항
  • 초기 네트워킹 구성은 설치 CR의 NMStateConfig 콘텐츠를 사용하여 적용됩니다. NMState 연산자는 네트워크 업데이트에 필요할 때만 사용됩니다.
  • SR-IOV 가상 기능이 호스트 네트워킹에 사용되는 경우 NMState 연산자( nodeNetworkConfigurationPolicy CR을 통해)를 사용하여 VLAN 및 MTU와 같은 VF 인터페이스를 구성합니다.

3.8.4. 로깅

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명
Cluster Logging Operator를 사용하면 원격 아카이브 및 분석을 위해 노드에서 로그를 수집하고 제공할 수 있습니다. 참조 구성에서는 Kafka를 사용하여 감사 및 인프라 로그를 원격 아카이브로 전송합니다.
제한 및 요구사항
해당 없음
엔지니어링 고려 사항
  • 클러스터 CPU 사용 영향은 생성된 로그 수 또는 크기와 구성된 로그 필터링 양을 기반으로 합니다.
  • 참조 구성에는 애플리케이션 로그 전달이 포함되어 있지 않습니다. 구성에 애플리케이션 로그를 포함하려면 애플리케이션 로깅 속도를 평가하고 예약된 세트에 충분한 추가 CPU 리소스를 할당해야 합니다.

3.8.5. 전원 관리

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명
성능 프로필을 사용하여 고전력 모드, 저전력 모드 또는 혼합 모드로 클러스터를 구성합니다. 전원 모드를 선택하는 것은 클러스터에서 실행되는 워크로드의 특성, 특히 대기 시간에 얼마나 민감한지에 따라 달라집니다. Pod별 전원 관리 C-states 기능을 사용하여 대기 시간이 짧은 Pod의 최대 대기 시간을 구성합니다.
제한 및 요구사항
  • 전원 구성은 적절한 BIOS 구성을 사용합니다(예: C 상태 및 P-상태 활성화). 구성은 하드웨어 벤더마다 다릅니다.
엔지니어링 고려 사항
  • 지연 시간: 지연 시간에 민감한 워크로드가 요구 사항을 충족하도록 하려면 고전력 또는 Pod별 전원 관리 구성이 필요합니다. Pod별 전원 관리는 전용 고정 CPU가 있는 QoS Pod에서만 사용할 수 있습니다.

3.8.6. 스토리지

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

클라우드 네이티브 스토리지 서비스는 OpenShift Data Foundation이나 다른 타사 솔루션을 통해 제공될 수 있습니다.

OpenShift Data Foundation은 컨테이너를 위한 Red Hat Ceph Storage 기반 소프트웨어 정의 스토리지 솔루션입니다. 영구 및 비영구 데이터 요구 사항에 대해 동적으로 프로비저닝할 수 있는 블록 스토리지, 파일 시스템 스토리지 및 온-프레미스 개체 스토리지를 제공합니다. 통신 핵심 애플리케이션에는 영구 스토리지가 필요합니다.

참고

모든 저장 데이터가 전송 중에 암호화되지 않을 수도 있습니다. 위험을 줄이려면 스토리지 네트워크를 다른 클러스터 네트워크와 분리합니다. 다른 클러스터 네트워크에서 스토리지 네트워크에 연결할 수 없거나 라우팅할 수 없어야 합니다. 스토리지 네트워크에 직접 연결된 노드만 액세스할 수 있어야 합니다.

3.8.6.1. OpenShift Data Foundation

이번 릴리스의 새로운 기능
  • 내부 모드와 외부 모드 및 RDS 권장 사항에 대한 설명입니다.
설명

Red Hat OpenShift Data Foundation은 컨테이너용 소프트웨어 정의 스토리지 서비스입니다. OpenShift Data Foundation은 다음 두 가지 모드 중 하나로 배포할 수 있습니다. * 내부 모드: OpenShift Data Foundation 소프트웨어 구성 요소가 다른 컨테이너화된 애플리케이션과 함께 OpenShift Container Platform 클러스터 노드에 직접 소프트웨어 컨테이너로 배포됩니다. * 외부 모드에서는 OpenShift Data Foundation이 전용 스토리지 클러스터에 배포되는데, 이는 일반적으로 Red Hat Enterprise Linux(RHEL)에서 실행되는 별도의 Red Hat Ceph Storage 클러스터입니다. 이러한 스토리지 서비스는 애플리케이션 워크로드 클러스터 외부에서 실행됩니다.

통신사 코어 클러스터의 경우, 외부 모드에서 실행되는 OpenShift Data Foundation 스토리지 서비스가 여러 가지 이유로 스토리지 지원을 제공합니다.

  • OpenShift Container Platform과 Ceph 작업 간의 종속성을 분리하면 OpenShift Container Platform과 OpenShift Data Foundation을 독립적으로 업데이트할 수 있습니다.
  • 스토리지와 OpenShift 컨테이너 플랫폼 인프라 계층의 운영 기능을 분리하는 것은 통신사 핵심 사용 사례에 대한 일반적인 고객 요구 사항입니다.
  • 외부 Red Hat Ceph Storage 클러스터는 동일한 지역에 배포된 여러 OpenShift Container Platform 클러스터에서 재사용될 수 있습니다.

OpenShift Data Foundation은 보조 CNI 네트워크를 사용하여 스토리지 트래픽 분리를 지원합니다.

제한 및 요구사항
  • IPv4/IPv6 듀얼 스택 네트워킹 환경에서 OpenShift Data Foundation은 IPv4 주소를 사용합니다. 자세한 내용은 IPv6 지원을 참조하세요.
엔지니어링 고려 사항
  • OpenShift Data Foundation 네트워크 트래픽은 예를 들어 VLAN 격리를 사용하여 전용 네트워크의 다른 트래픽과 격리해야 합니다.
  • 충분한 처리량, 대역폭 및 성능 KPI를 보장하기 위해 여러 OpenShift Container Platform 클러스터를 외부 OpenShift Data Foundation 클러스터에 연결하기 전에 작업 부하 요구 사항의 범위를 정해야 합니다.

3.8.6.2. 추가 스토리지 솔루션

다른 스토리지 솔루션을 사용하여 통신사 코어 클러스터에 대한 영구 스토리지를 제공할 수 있습니다. 이러한 솔루션의 구성 및 통합은 참조 설계 사양(RDS)의 범위를 벗어납니다.

스토리지 솔루션을 통신사 핵심 클러스터에 통합하려면 스토리지가 전반적인 성능 및 리소스 사용 요구 사항을 충족하는지 확인하기 위해 적절한 크기 조정 및 성능 분석이 포함되어야 합니다.

3.8.7. 통신사 핵심 배포 구성 요소

다음 섹션에서는 RHACM(Red Hat Advanced Cluster Management)을 사용하여 허브 클러스터를 구성하는 데 사용하는 다양한 OpenShift Container Platform 구성 요소 및 구성에 대해 설명합니다.

3.8.7.1. Red Hat Advanced Cluster Manager

이번 릴리스의 새로운 기능
  • 관리형 클러스터에 대한 정책을 관리하고 배포하려면 RHACM 및 PolicyGenerator CR을 사용하는 것이 권장됩니다. 이는 이 목적을 위해 PolicyGenTemplate CR을 사용하는 것을 대체합니다.
설명

RHACM은 배포된 클러스터에 대한 MCE(Multi Cluster Engine) 설치 및 지속적인 GitOps ZTP 수명 주기 관리를 제공합니다. 유지 관리 기간 동안 클러스터에 정책 사용자 정의 리소스(CR)를 적용하여 클러스터 구성과 업그레이드를 선언적으로 관리합니다.

TALM에서 관리하는 RHACM 정책 컨트롤러를 사용하여 정책을 적용합니다. 구성, 업그레이드 및 클러스터 상태는 정책 컨트롤러를 통해 관리됩니다.

관리형 클러스터를 설치할 때 RHACM은 사용자 정의 디스크 분할, 역할 할당, 머신 구성 풀 할당을 지원하기 위해 개별 노드에 레이블과 초기 점화 구성을 적용합니다. 이러한 구성은 SiteConfig 또는 ClusterInstance CR을 사용하여 정의합니다.

제한 및 요구사항
엔지니어링 고려 사항
  • 설치, 사이트 또는 배포별로 고유한 콘텐츠가 있는 여러 클러스터를 관리하는 경우 RHACM 허브 템플릿을 사용하는 것이 좋습니다. RHACM 허브 템플릿을 사용하면 설치별로 고유한 값을 제공하는 동시에 클러스터에 일관된 정책 세트를 적용할 수 있습니다.

3.8.7.2. 토폴로지 인식 라이프사이클 관리자(TALM)

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

TALM은 허브 클러스터에서만 실행되는 연산자입니다. TALM은 클러스터 및 운영자 업그레이드, 구성 등의 변경 사항이 네트워크의 관리형 클러스터에 어떻게 적용되는지 관리합니다. TALM의 핵심 기능은 다음과 같습니다.

  • 클러스터 정책에 정의된 대로 클러스터 구성 및 업그레이드(OpenShift Container Platform 및 Operator)에 대한 순차적 업데이트를 제공합니다.
  • 클러스터 업데이트의 지연된 적용을 제공합니다.
  • 사용자가 구성할 수 있는 일괄 처리로 클러스터 세트에 대한 정책 업데이트의 점진적인 롤아웃을 지원합니다.
  • 클러스터에 ztp-done 또는 비슷한 사용자 정의 레이블을 추가하여 클러스터별 작업이 가능합니다.
제한 및 요구사항
  • 400개 배치로 동시 클러스터 배포 지원
엔지니어링 고려 사항
  • TALM은 클러스터를 처음 설치하는 동안 ran.openshift.io/ztp-deploy-wave 주석이 있는 정책만 적용합니다.
  • 모든 정책은 사용자가 생성한 ClusterGroupUpgrade CR의 제어 하에 TALM을 통해 수정될 수 있습니다.

3.8.7.3. GitOps Operator 및 ZTP 플러그인

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

GitOps Operator는 클러스터 배포 및 구성을 관리하기 위한 GitOps 기반 인프라를 제공합니다. 클러스터 정의와 구성은 Git 저장소에서 관리됩니다.

ZTP 플러그인은 SiteConfig CR에서 설치 CR을 생성하고 RHACM PolicyGenerator CR을 기반으로 정책에 구성 CR을 자동으로 래핑하는 기능을 지원합니다.

SiteConfig Operator는 ClusterInstance CR에서 설치 CR을 생성하는 데 대한 지원을 개선했습니다.

중요

ZTP 플러그인 방식을 사용하는 SiteConfig 사용자 정의 리소스보다 ClusterInstance CR을 사용하여 클러스터를 설치하는 것이 더 좋습니다.

SiteConfig , ClusterInstance , PolicyGenerator , PolicyGenTemplate 및 지원 참조 CR과 같은 모든 필수 아티팩트를 포함하여 릴리스 버전에 따라 Git 저장소를 구성해야 합니다. 이를 통해 여러 버전의 OpenShift Container Platform과 구성 버전을 클러스터에 동시에 배포하고 관리할 수 있으며, 업그레이드를 통해서도 관리할 수 있습니다.

권장되는 Git 구조는 참조 CR을 고객이나 파트너가 제공한 콘텐츠와 별도의 디렉토리에 보관합니다. 즉, 기존 콘텐츠를 덮어쓰기만 하면 참조 업데이트를 가져올 수 있습니다. 고객 또는 파트너가 제공한 CR은 생성된 구성 정책에 쉽게 포함할 수 있도록 참조 CR과 병렬 디렉토리에 제공될 수 있습니다.

제한 및 요구사항
  • 각 ArgoCD 애플리케이션은 최대 1000개의 노드를 지원합니다. 여러 ArgoCD 애플리케이션을 사용하면 단일 허브 클러스터에서 지원하는 최대 클러스터 수를 달성할 수 있습니다.
  • SiteConfig CR은 extraManifests.searchPaths 필드를 사용하여 참조 매니페스트를 참조해야 합니다.

    참고

    OpenShift Container Platform 4.15부터 spec.extraManifestPath 필드는 더 이상 사용되지 않습니다.

엔지니어링 고려 사항
  • 클러스터 업그레이드 유지 관리 기간 동안 MachineConfigPool ( MCP ) CR 일시 중지 필드를 true로 설정하고 maxUnavailable 필드를 허용 가능한 최대 값으로 설정합니다. 이렇게 하면 업그레이드하는 동안 여러 클러스터 노드가 재부팅되는 것을 방지할 수 있어 전체 업그레이드 시간이 단축됩니다. mcp CR의 일시 중지를 해제하면 모든 구성 변경 사항이 한 번의 재부팅으로 적용됩니다.

    참고

    설치 중에 사용자 정의 MCP CR을 일시 중지하고 maxUnavailable을 100%로 설정하여 설치 시간을 개선할 수 있습니다.

  • 콘텐츠를 업데이트할 때 혼란이나 의도치 않은 덮어쓰기를 방지하려면 core-overlay 아래의 reference-crs/ 디렉터리와 git의 추가 매니페스트에 사용자 지정 CR에 대해 고유하고 구별 가능한 이름을 사용해야 합니다.
  • SiteConfig CR을 사용하면 여러 추가 경로가 허용됩니다. 여러 디렉토리 경로에서 파일 이름이 겹치는 경우 디렉토리 순서 목록에서 마지막으로 발견된 파일이 우선권을 갖습니다.

3.8.7.4. 모니터링

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

클러스터 모니터링 운영자(CMO)는 OpenShift Container Platform에 기본적으로 포함되어 있으며 플랫폼 구성 요소와 선택적으로 사용자 프로젝트에 대한 모니터링(메트릭, 대시보드, 알림)을 제공합니다.

기본 로그 보존 기간, 사용자 정의 알림 규칙 등을 사용자 정의할 수 있습니다.

업스트림 Kubernetes와 cAdvisor를 기반으로 하는 Pod CPU 및 메모리 메트릭의 기본 처리 방식은 메트릭 정확도보다 오래된 데이터를 선호하는 균형을 이룹니다. 이로 인해 보고가 급증하여 사용자가 지정한 임계값에 따라 잘못된 알림이 생성될 수 있습니다.

OpenShift Container Platform은 이러한 동작으로 인해 영향을 받지 않는 추가적인 Pod CPU 및 메모리 메트릭 세트를 생성하는 옵트인 전용 서비스 모니터 기능을 지원합니다. 자세한 내용은 Red Hat Knowledgebase 솔루션 Dedicated Service Monitors - Questions and Answers를 참조하세요.

기본 구성 외에도 telco 코어 클러스터에 대해 다음 메트릭을 구성해야 합니다.

  • 사용자 워크로드에 대한 Pod CPU 및 메모리 메트릭 및 경고
제한 및 요구사항
  • Pod 메트릭을 정확하게 표현하려면 전용 서비스 모니터 기능을 활성화해야 합니다.
엔지니어링 고려 사항
  • Prometheus 보존 기간은 사용자가 지정합니다. 사용된 값은 CPU 및 스토리지 리소스에 대해 클러스터의 기록 데이터를 유지 관리하기 위한 운영 요구 사항 간의 절충입니다. 보존 기간이 길어지면 스토리지의 필요성이 증가하고 데이터 인덱싱을 관리하기 위해 추가 CPU가 필요합니다.

3.8.8. 스케줄링

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

스케줄러는 지정된 워크로드에 적합한 노드를 선택하는 클러스터 전체 구성 요소입니다. 이는 플랫폼의 핵심 부분이며 일반적인 배포 시나리오에서 특정 구성이 필요하지 않습니다. 그러나 다음 섹션에서 설명하는 몇 가지 특정 사용 사례가 있습니다.

NUMA 리소스 Operator를 통해 NUMA 인식 스케줄링을 활성화할 수 있습니다. 자세한 내용은 NUMA 인식 워크로드 예약을 참조하십시오.

제한 및 요구사항
  • 기본 스케줄러는 워크로드의 NUMA 현지성을 인식하지 못합니다. 작업자 노드에서 사용 가능한 모든 리소스의 합계만 알고 있습니다. 이로 인해 토폴로지 관리자 정책이 single-numa-node 또는 restricted 로 설정된 노드에 예약할 때 워크로드가 거부될 수 있습니다. 자세한 내용은 토폴로지 관리자 정책을 참조하십시오.

    예를 들어 Pod에서 6개의 CPU를 요청하고 NUMA 노드당 CPU가 4개인 빈 노드로 예약되는 것이 좋습니다. 노드에 할당 가능한 총 용량은 8개의 CPU입니다. 스케줄러는 빈 노드에 포드를 배치합니다. 각 NUMA 노드에서 사용 가능한 CPU가 4개만 있으므로 노드 로컬 승인이 실패합니다.

  • NUMA 노드가 있는 모든 클러스터는 NUMA 리소스 Operator 를 사용해야 합니다. 자세한 내용은 "NUMA 리소스 운영자 설치"를 참조하세요. KubeletConfig CR의 machineConfigPoolSelector 필드를 사용하여 NUMA 정렬 스케줄링이 필요한 모든 노드를 선택합니다.
  • 모든 머신 구성 풀은 일관된 하드웨어 구성을 가져야 합니다. 예를 들어, 모든 노드는 동일한 NUMA 영역 수를 가져야 합니다.
엔지니어링 고려 사항
  • Pod에 올바른 스케줄링 및 격리를 위한 주석이 필요할 수 있습니다. 주석에 대한 자세한 내용은 CPU 파티셔닝 및 성능 튜닝 을 참조하십시오.
  • SriovNetworkNodePolicy CR에서 excludeTopology 필드를 사용하여 예약 중에 무시하도록 SR-IOV 가상 함수 NUMA 선호도를 구성할 수 있습니다.

3.8.9. 노드 구성

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
제한 및 요구사항
  • 추가 커널 모듈을 분석하여 CPU 부하, 시스템 성능, KPI 달성 능력에 미치는 영향을 파악합니다.

    Expand
    표 3.1. 추가 커널 모듈
    기능설명

    추가 커널 모듈

    사용자는 MachineConfig 를 사용하여 확장된 커널 기능을 CNFs에 제공하여 다음 커널 모듈을 설치할 수 있습니다.

    • sctp
    • ip_gre
    • ip6_tables
    • ip6t_REJECT
    • ip6table_filter
    • ip6table_mangle
    • iptable_filter
    • iptable_mangle
    • iptable_nat
    • xt_multiport
    • xt_owner
    • xt_REDIRECT
    • xt_statistic
    • xt_TCPMSS

    컨테이너 마운트 네임스페이스 숨기기

    kubelet 하우스키핑 및 제거 모니터링의 빈도를 줄여 CPU 사용량을 줄입니다. 시스템 마운트 스캐닝 오버헤드를 줄이기 위해 kubelet/CRI-O에서 볼 수 있는 컨테이너 마운트 네임스페이스를 만듭니다.

    Kdump 활성화

    선택 구성(기본적으로 활성화됨)

3.8.10. 호스트 펌웨어 및 부트로더 구성

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
엔지니어링 고려 사항
  • 보안 부팅을 활성화하는 것이 권장되는 구성입니다.

    참고

    보안 부팅이 활성화되면 서명된 커널 모듈만 커널에 의해 로드됩니다. 트리 부족 드라이버는 지원되지 않습니다.

3.8.11. 연결이 끊긴 환경

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

통신 핵심 클러스터는 인터넷에 직접 액세스하지 않고 네트워크에 설치해야 합니다. 클러스터를 설치, 구성, Operator에 필요한 모든 컨테이너 이미지는 연결이 끊긴 레지스트리에서 사용할 수 있어야 합니다. 여기에는 OpenShift Container Platform 이미지, Day 2 OLM Operator 이미지, 애플리케이션 워크로드 이미지가 포함됩니다. 연결이 끊긴 환경을 사용하면 다음과 같은 여러 이점이 있습니다.

  • 보안 - 클러스터에 대한 액세스 제한
  • 선별된 콘텐츠: 클러스터의 큐레이션 및 승인된 업데이트를 기반으로 레지스트리가 채워집니다.
제한 및 요구사항
  • 모든 사용자 정의 CatalogSource 리소스에는 고유한 이름이 필요합니다. 기본 카탈로그 이름을 재사용하지 마십시오.
엔지니어링 고려 사항
  • 유효한 시간 소스는 클러스터 설치의 일부로 구성해야 합니다.

3.8.12. 에이전트 기반 설치 프로그램

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

Telco 코어 클러스터는 ABI(agent Based Installer)를 사용하여 설치할 수 있습니다. 이 방법을 사용하면 설치를 관리하기 위해 추가 서버 또는 VM 없이도 베어 메탈 서버에 OpenShift Container Platform을 설치할 수 있습니다. 에이전트 기반 설치 프로그램은 모든 시스템(예: 노트북)에서 실행되어 ISO 설치 이미지를 생성할 수 있습니다. 이 ISO는 클러스터 감독 노드의 설치 미디어로 사용됩니다. 네트워크로 연결되어 슈퍼바이저 노드의 API 인터페이스에 연결된 모든 시스템에서 에이전트 기반 설치 프로그램을 사용하여 진행 상황을 모니터링할 수 있습니다.

에이전트 기반 설치 프로그램은 다음을 지원합니다.

  • 선언적 CR에서 설치
  • 연결이 끊긴 환경에 설치.
  • 예를 들어, 배스천 노드를 사용하여 설치를 지원하는 추가 서버를 사용하지 않고 설치합니다.
제한 및 요구사항
  • 연결 해제된 설치에는 모든 필수 콘텐츠가 미러링되어 설치된 호스트에서 접근 가능한 레지스트리가 필요합니다.
엔지니어링 고려 사항
  • 네트워크 구성은 설치 중에 NMState 구성으로 적용되어야 합니다. NMState Operator를 사용한 2일차 네트워킹 구성은 지원되지 않습니다.

3.8.13. 보안

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명

통신 운영자는 보안에 대해 자심하고 있으며 여러 공격 벡터에 대해 클러스터를 강화해야 합니다. OpenShift Container Platform에는 클러스터 보안을 담당하는 단일 구성 요소 또는 기능이 없습니다. 아래에는 통신사 핵심 RDS에 포함된 사용 모델에 대한 다양한 보안 지향 기능과 구성이 설명되어 있습니다.

  • SecurityContextConstraints: 모든 워크로드 Pod는 restricted-v2 또는 restricted SCC를 사용하여 실행해야 합니다.
  • seccomp: 모든 Pod는 RuntimeDefault (또는 더 강력한) seccomp 프로필을 사용하여 실행해야 합니다.
  • rootless DPDK Pod: 많은 DPDK(사용자 플레인 네트워킹) CNF는 root 권한으로 Pod를 실행해야 합니다. 이 기능을 사용하면 root 권한 없이도 준수 DPDK Pod를 실행할 수 있습니다. rootless DPDK Pod는 DPDK 애플리케이션에서 커널로 트래픽을 삽입하는 rootless Pod에 탭 장치를 생성합니다.
  • 스토리지: 스토리지 네트워크를 다른 클러스터 네트워크로 분리하고 라우팅할 수 없어야 합니다. 자세한 내용은 "스토리지" 섹션을 참조하십시오.

OpenShift Container Platform 클러스터 노드에서 사용자 정의 nftable 방화벽 규칙을 구현하는 데 지원되는 방법에 대해서는 Red Hat Knowledgebase 솔루션 문서 OpenShift의 사용자 정의 nftable 방화벽 규칙을 참조하세요. 이 문서는 OpenShift Container Platform 환경에서 네트워크 보안 정책을 관리하는 클러스터 관리자를 대상으로 합니다.

이 방법을 배포하기 전에 다음을 포함하여 운영상의 영향을 신중하게 고려하는 것이 중요합니다.

  • 조기 적용 : 규칙은 네트워크가 완전히 작동하기 전, 부팅 시에 적용됩니다. 부팅 과정에서 필요한 필수 서비스가 규칙으로 인해 실수로 차단되지 않도록 주의하세요.
  • 잘못된 구성으로 인한 위험 : 사용자 정의 규칙의 오류로 인해 의도치 않은 결과가 발생할 수 있으며, 잠재적으로 성능 저하가 발생하거나 정상적인 트래픽이 차단되거나 노드가 격리될 수 있습니다. 기본 클러스터에 배포하기 전에 비운영 환경에서 규칙을 철저히 테스트하세요.
  • 외부 엔드포인트 : OpenShift Container Platform이 작동하려면 외부 엔드포인트에 액세스해야 합니다. 방화벽 허용 목록에 대한 자세한 내용은 "OpenShift Container Platform에 대한 방화벽 구성"을 참조하세요. 클러스터 노드가 해당 엔드포인트에 액세스할 수 있는지 확인하세요.
  • 노드 재부팅 : 노드 중단 정책이 구성되어 있지 않은 경우, 필요한 방화벽 설정과 함께 MachineConfig CR을 적용하면 노드가 재부팅됩니다. 이러한 영향을 인지하고 그에 따라 유지 관리 기간을 예약하세요. 자세한 내용은 노드 중단 정책을 사용하여 머신 구성 변경으로 인한 중단을 최소화에서 참조하십시오.

    참고

    노드 중단 정책은 OpenShift Container Platform 4.17 이상에서 사용할 수 있습니다.

  • 네트워크 흐름 매트릭스 : 수신 트래픽 관리에 대한 자세한 내용은 OpenShift Container Platform 네트워크 흐름 매트릭스를 참조하세요. 네트워크 보안을 강화하기 위해 필수적인 흐름에만 유입 트래픽을 제한할 수 있습니다. 매트릭스는 기본 클러스터 서비스에 대한 통찰력을 제공하지만 Day-2 운영자가 생성한 트래픽은 제외합니다.
  • 클러스터 버전 업데이트 및 업그레이드 : OpenShift Container Platform 클러스터를 업데이트하거나 업그레이드할 때는 주의하세요. 최근 플랫폼의 방화벽 요구 사항이 변경되어 네트워크 포트 권한을 조정해야 할 수도 있습니다. 문서에서는 지침을 제공하지만, 이러한 요구 사항은 시간이 지남에 따라 변경될 수 있다는 점에 유의하세요. 중단을 최소화하려면 프로덕션에 적용하기 전에 스테이징 환경에서 모든 업데이트나 업그레이드를 테스트해야 합니다. 이를 통해 방화벽 구성 변경과 관련된 잠재적인 호환성 문제를 식별하고 해결할 수 있습니다.
제한 및 요구사항
  • rootless DPDK Pod에는 다음과 같은 추가 구성 단계가 필요합니다.

    • 탭 플러그인에 대한 container_t SELinux 컨텍스트를 구성합니다.
    • 클러스터 호스트에 대해 container_use_devices SELinux 부울을 활성화합니다.
엔지니어링 고려 사항
  • 루트 없는 DPDK 포드 지원을 위해 호스트에서 SELinux container_use_devices 부울 값을 활성화하여 탭 장치를 생성할 수 있도록 합니다. 이는 허용 가능한 보안 위험을 초래합니다.

3.8.14. 확장성

이번 릴리스의 새로운 기능
  • 이 릴리스에는 참조 디자인 업데이트가 없습니다
설명
"제한 및 요구 사항"에 설명된 대로 클러스터를 확장합니다. 워크로드 확장은 "애플리케이션 워크로드"에 설명되어 있습니다.
제한 및 요구사항
  • 클러스터는 최소 120개 노드까지 확장 가능합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동