5.6.5. 노드 풀에 대한 추가 포트 구성
클라우드 네이티브 네트워크 기능(CNF)과 같은 고성능 워크로드를 위해 RHOSP에서 호스팅된 클러스터 노드 성능을 조정할 수 있습니다. 성능 튜닝에는 RHOSP 리소스 구성, 성능 프로필 생성, tuned NodePool 리소스 배포, SR-IOV 장치 지원 활성화가 포함됩니다.
CNF는 클라우드 네이티브 환경에서 실행되도록 설계되었습니다. 라우팅, 방화벽, 로드 밸런싱과 같은 네트워크 서비스를 제공할 수 있습니다. 고성능 컴퓨팅 및 네트워킹 장치를 사용하여 CNF를 실행하도록 노드 풀을 구성할 수 있습니다.
5.6.5.1. 호스트 클러스터 노드의 성능 튜닝 링크 복사링크가 클립보드에 복사되었습니다!
성능 프로필을 생성하고 tuned NodePool 리소스를 배포하여 RHOSP(Red Hat OpenStack Platform) 호스팅 컨트롤 플레인에서 고성능 워크로드를 실행합니다.
사전 요구 사항
- 전용 CPU, 메모리 및 호스트 집계 정보를 포함하여 워크로드를 실행하는 데 필요한 리소스가 있는 RHOSP 플레이버가 있습니다.
- SR-IOV 또는 DPDK 가능 NIC에 연결된 RHOSP 네트워크가 있습니다. 이 네트워크는 호스팅된 클러스터에서 사용하는 프로젝트에서 사용할 수 있어야 합니다.
프로세스
perfprofile.yaml이라는 파일에서 요구 사항을 충족하는 성능 프로필을 생성합니다. 예를 들면 다음과 같습니다.구성 맵의 성능 프로필 예
apiVersion: v1 kind: ConfigMap metadata: name: perfprof-1 namespace: clusters data: tuning: | apiVersion: v1 kind: ConfigMap metadata: name: cnf-performanceprofile namespace: "${HYPERSHIFT_NAMESPACE}" data: tuning: | apiVersion: performance.openshift.io/v2 kind: PerformanceProfile metadata: name: cnf-performanceprofile spec: additionalKernelArgs: - nmi_watchdog=0 - audit=0 - mce=off - processor.max_cstate=1 - idle=poll - intel_idle.max_cstate=0 - amd_iommu=on cpu: isolated: "${CPU_ISOLATED}" reserved: "${CPU_RESERVED}" hugepages: defaultHugepagesSize: "1G" pages: - count: ${HUGEPAGES} node: 0 size: 1G nodeSelector: node-role.kubernetes.io/worker: '' realTimeKernel: enabled: false globallyDisableIrqLoadBalancing: true중요HyperShift Operator 네임스페이스, 분리된 CPU 및 예약된 CPU에 대해 환경 변수가 설정되지 않은 경우 성능 프로필을 적용하기 전에 해당 변수를 생성합니다.
다음 명령을 실행하여 성능 프로필 구성을 적용합니다.
$ oc apply -f perfprof.yaml-
클러스터 이름에 대해
CLUSTER_NAME환경 변수가 설정되어 있지 않은 경우 이를 정의합니다. 다음 명령을 실행하여 노드 풀 이름 환경 변수를 설정합니다.
$ export NODEPOOL_NAME=$CLUSTER_NAME-cnf다음 명령을 실행하여 플레이버 환경 변수를 설정합니다.
$ export FLAVOR="m1.xlarge.nfv"다음 명령을 실행하여 성능 프로필을 사용하는 노드 풀을 생성합니다.
$ hcp create nodepool openstack \ --cluster-name $CLUSTER_NAME \ --name $NODEPOOL_NAME \ --node-count 0 \ --openstack-node-flavor $FLAVOR다음 명령을 실행하여 노드 풀을 패치하여
PerformanceProfile리소스를 참조합니다.$ oc patch nodepool -n ${HYPERSHIFT_NAMESPACE} ${CLUSTER_NAME} \ -p '{"spec":{"tuningConfig":[{"name":"cnf-performanceprofile"}]}}' --type=merge다음 명령을 실행하여 노드 풀을 확장합니다.
$ oc scale nodepool/$CLUSTER_NAME --namespace ${HYPERSHIFT_NAMESPACE} --replicas=1노드가 준비될 때까지 기다립니다.
다음 명령을 실행하여 노드가 준비될 때까지 기다립니다.
$ oc wait --for=condition=UpdatingConfig=True nodepool \ -n ${HYPERSHIFT_NAMESPACE} ${CLUSTER_NAME} \ --timeout=5m다음 명령을 실행하여 구성 업데이트가 완료될 때까지 기다립니다.
$ oc wait --for=condition=UpdatingConfig=False nodepool \ -n ${HYPERSHIFT_NAMESPACE} ${CLUSTER_NAME} \ --timeout=30m다음 명령을 실행하여 모든 노드가 정상 상태가 될 때까지 기다립니다.
$ oc wait --for=condition=AllNodesHealthy nodepool \ -n ${HYPERSHIFT_NAMESPACE} ${CLUSTER_NAME} \ --timeout=5m
노드에 SSH를 연결하거나 oc debug 명령을 사용하여 성능 구성을 확인할 수 있습니다.