7.2. QoS 정책에 대한 네트워킹 서비스 구성
Red Hat OpenStack Services on OpenShift(RHOSO) Networking 서비스(neutron)의 서비스 품질 기능은 qos 서비스 플러그인을 통해 제공됩니다. ML2/OVN 메커니즘 드라이버를 사용하면 기본적으로 qos 가 로드됩니다. 그러나 ML2/SR-IOV에는 적용되지 않습니다.
ML2/SR-IOV 메커니즘 드라이버와 함께 qos 서비스 플러그인을 사용하는 경우 해당 에이전트에 qos 확장을 로드해야 합니다.
다음 목록에는 QoS에 대한 네트워킹 서비스를 구성하기 위해 수행해야 하는 작업이 요약되어 있습니다. 작업 세부 정보는 다음 목록을 따릅니다.
모든 유형의 QoS 정책의 경우:
-
qos서비스 플러그인을 추가합니다. -
에이전트에 대한
qos확장을 추가합니다(SR-IOV만 해당).
-
- ML2/OVN 배포에서는 하드웨어 오프로드된 포트에 대해 최소 대역폭 및 대역폭 제한 송신 정책을 활성화할 수 있습니다. 하드웨어 오프로드 포트에 대한 수신 정책을 활성화할 수 없습니다.
최소 대역폭 정책만 사용하여 VM 인스턴스를 예약하는 추가 작업입니다.
- Compute 서비스(nova)에서 사용하는 이름과 다른 경우 하이퍼바이저 이름을 지정합니다.
- 각 컴퓨팅 노드에서 관련 에이전트에 대한 리소스 공급자 수신 및 송신 대역폭을 구성합니다.
-
(선택 사항)
vnic_types를 지원되지 않음으로 표시합니다.
DSCP 표시 정책에 대한 추가 작업:
-
edpm_ovn_encap_tos를 활성화합니다. 기본적으로edpm_ovn_encap_tos는 비활성화되어 있습니다.
-
사전 요구 사항
-
oc명령줄 툴이 워크스테이션에 설치되어 있어야 합니다. -
cluster-admin권한이 있는 사용자로 RHOSO 컨트롤 플레인에 액세스할 수 있는 워크스테이션에 로그인되어 있습니다.
프로세스
ML2/SR-IOV 메커니즘 드라이버를 사용하는 경우 RHOSO 데이터 플레인이라고도 하는 컴퓨팅 노드에서
qos에이전트 확장을 활성화해야 합니다.자세한 내용은 SR-IOV 용 QoS 정책에 대한 네트워킹 서비스 구성을 참조하십시오.
필요한 QoS 구성을 추가합니다.
ansibleVars:edpm_network_config_template에 구성을 배치합니다.apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet metadata: name: my-data-plane-node-set spec: ... nodeTemplate: ... ansible: ansibleVars: edpm_network_config_template: | --- OvnHardwareOffloadedQos: true ...DSCP 표시 정책을 만들려면
ansibleVars아래에edpm_ovn_encap_tos: '1'을 추가합니다.apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneNodeSet metadata: name: my-data-plane-node-set spec: ... nodeTemplate: ... ansible: ansibleVars: edpm_network_config_template: | --- OvnHardwareOffloadedQos: true edpm_ovn_encap_tos: 1 ...edpm_ovn_encap_tos가 활성화되면 네트워킹 서비스는 내부 헤더의 DSCP 값을 외부 헤더에 복사합니다.기본값은0입니다.-
OpenStackDataPlaneNodeSetCR 정의 파일을 저장합니다. 업데이트된
OpenStackDataPlaneNodeSetCR 구성을 적용합니다.$ oc apply -f my_data_plane_node_set.yaml데이터 플레인 리소스가 업데이트되었는지 확인합니다.
$ oc get openstackdataplanenodeset샘플 출력
NAME STATUS MESSAGE my-data-plane-node-set False Deployment not started워크스테이션에 파일을 생성하여
OpenStackDataPlaneDeploymentCR을 정의합니다(예:my_data_plane_deploy.yaml):apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: my-data-plane-deploy작은 정보정의 파일과
OpenStackDataPlaneDeploymentCR에 수정된 노드 세트의 용도를 나타내는 고유하고 설명이 포함된 이름을 지정합니다.수정한
OpenStackDataPlaneNodeSetCR을 추가합니다.spec: nodeSets: - my-data-plane-node-set-
OpenStackDataPlaneDeploymentCR 배포 파일을 저장합니다. 수정된
OpenStackDataPlaneNodeSetCR을 배포합니다.$ oc create -f my_data_plane_deploy.yaml -n openstack배포가 실행되는 동안 Ansible 로그를 볼 수 있습니다.
$ oc get pod -l app=openstackansibleee -n openstack -w $ oc logs -l app=openstackansibleee -n openstack -f \ --max-log-requests 10수정된
OpenStackDataPlaneNodeSetCR이 배포되었는지 확인합니다.예
$ oc get openstackdataplanedeployment -n openstack샘플 출력
NAME STATUS MESSAGE my-data-plane-node-set True Setup CompleteNodeSet Ready메시지가 표시될 때까지oc get명령을 반복합니다.예
$ oc get openstackdataplanenodeset -n openstack샘플 출력
NAME STATUS MESSAGE my-data-plane-node-set True NodeSet Ready반환된 상태의 의미에 대한 자세한 내용은 OpenShift에 Red Hat OpenStack Services 배포 가이드의 데이터 플레인 조건 및 상태를 참조하십시오.
검증
qos서비스 플러그인이 로드되었는지 확인합니다.$ openstack network qos policy listqos서비스 플러그인이 로드되면ResourceNotFound오류가 발생하지 않습니다.