18.6. SR-IOV 지원 워크로드에 대한 QinQ 지원 구성
공식적으로 802.1Q-in-802.1Q로 알려진 QinQ는 IEEE 802.1ad에 의해 정의된 네트워킹 기술입니다. IEEE 802.1ad는 IEEE 802.1Q-1998 표준을 확장하고 802.1Q로 이미 태그된 패킷에 802.1Q 태그를 추가로 도입하여 VLAN 기능을 강화합니다. 이 방법을 VLAN 스택 또는 이중 VLAN이라고도 합니다.
다음 문서에서 작업을 수행하기 전에 SR-IOV Network Operator를 설치 했는지 확인합니다.
18.6.1. 802.1Q-in-802.1Q 지원 정보 링크 복사링크가 클립보드에 복사되었습니다!
기존 VLAN 설정에서 프레임에는 일반적으로 VLAN-100과 같은 단일 VLAN 태그와 QoS(Quality of Service) 비트 및 프로토콜 정보와 같은 기타 메타데이터가 포함됩니다. QinQ에는 서비스 공급자가 사용할 외부 태그를 지정하여 유연성을 제공하고 내부 태그는 고객의 VLAN 전용 상태로 유지되는 두 번째 VLAN 태그가 도입되었습니다.
QinQ를 사용하면 이중 VLAN 태그를 사용하여 중첩된 VLAN을 쉽게 생성할 수 있으므로 네트워크 환경 내에서 트래픽을 세분화하고 격리할 수 있습니다. 이 접근 방식은 공통 인프라를 통해 VLAN 기반 서비스를 여러 고객에게 제공해야 하는 서비스 공급자 네트워크에서 특히 중요하며 트래픽 분리 및 격리를 보장합니다.
다음 다이어그램에서는 OpenShift Container Platform에서 SR-IOV 및 QinQ를 사용하여 컨테이너화된 워크로드의 고급 네트워크 분할 및 격리를 달성하는 방법을 보여줍니다.
다이어그램에서는 SR-IOV가 지원되는 작업자 노드에서 VLAN 태그 두 개(QinQ)가 작동하는 방법을 보여줍니다. Pod 네임스페이스에 있는 SR-IOV 가상 기능(VF)은 VLAN ID 및 VLAN 프로토콜을 사용하여 SR-IOV CNI(Container Network Interface)에 의해 구성됩니다. 이는 S-tag에 해당합니다. Pod 내부에서 VLAN CNI는 기본 인터페이스
ext0
을 사용하여 하위 인터페이스를 생성합니다. 이 하위 인터페이스는 C-tag에 해당하는 802.1Q 프로토콜을 사용하여 내부 VLAN ID를 추가합니다.
이는 QinQ를 사용하여 네트워크 내에서 트래픽 분할 및 격리를 활성화하는 방법을 보여줍니다. 이더넷 프레임 구조는 오른쪽에 자세히 설명되어 있으며 VLAN 태그, EtherType, IP, TCP 및 Payload 섹션의 포함을 강조 표시합니다. QinQ를 사용하면 트래픽 분리 및 격리를 보장하면서 공유 인프라를 통해 VLAN 기반 서비스를 여러 고객에게 제공할 수 있습니다.
OpenShift Container Platform SR-IOV 솔루션은 이미 SriovNetwork
CR(사용자 정의 리소스)에서 VLAN 프로토콜 설정을 지원합니다. VF(가상 기능)는 이 프로토콜을 사용하여 외부 태그라고도 하는 VLAN 태그를 설정할 수 있습니다. 그러면 Pod에서 VLAN CNI 플러그인을 사용하여 내부 태그를 구성할 수 있습니다.
NIC | 802.1ad/802.1Q | 802.1Q/802.1Q |
---|---|---|
Intel X710 | 없음 | 지원됨 |
Intel E810 | 지원됨 | 지원됨 |
Mellanox | 없음 | 지원됨 |
18.6.2. SR-IOV 지원 워크로드에 대한 QinQ 지원 구성 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - SR-IOV Network Operator가 설치되어 있습니다.
프로세스
다음 콘텐츠를 사용하여
sriovnetpolicy-810-sriov-node-network.yaml
이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
SriovNetworkNodePolicy
오브젝트를 생성합니다.oc create -f sriovnetpolicy-810-sriov-node-network.yaml
$ oc create -f sriovnetpolicy-810-sriov-node-network.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 별도의 터미널 창을 열고 다음 명령을 실행하여
openshift-sriov-network-operator
네임스페이스에 지정된 노드에 대한 SR-IOV 네트워크 노드 상태의 동기화 상태를 모니터링합니다.watch -n 1 'oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath="{.status.syncStatus}"'
$ watch -n 1 'oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath="{.status.syncStatus}"'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 동기화 상태는
InProgress
에서Succeeded
로 변경되었음을 나타냅니다.SriovNetwork
오브젝트를 생성하고 인프라에 속하므로 S-tag 또는Service Tag
라는 외부 VLAN을 설정합니다.중요스위치의 트렁크 인터페이스에서 VLAN을 구성해야 합니다. 또한 QinQ 태그를 지원하도록 일부 스위치를 추가로 구성해야 할 수도 있습니다.
다음 콘텐츠를 사용하여
nad-sriovnetwork-1ad-810.yaml
이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 오브젝트를 생성합니다.
oc create -f nad-sriovnetwork-1ad-810.yaml
$ oc create -f nad-sriovnetwork-1ad-810.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
내부 VLAN을 사용하여
NetworkAttachmentDefinition
오브젝트를 생성합니다. 내부 VLAN은 종종 네트워크 기능에 속하므로 C 태그 또는고객
태그라고 합니다.다음 콘텐츠를 사용하여
nad-cvlan100.yaml
이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Pod 내부의 VF 인터페이스를 지정합니다. 기본 이름은
net1
이며 이름은 Pod 주석에 설정되지 않습니다.
다음 명령을 실행하여 YAML 파일을 적용합니다.
oc apply -f nad-cvlan100.yaml
$ oc apply -f nad-cvlan100.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 절차에 따라 노드에서 QinQ가 활성화되어 있는지 확인합니다.
다음 콘텐츠를 사용하여
test-qinq-pod.yaml
이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 테스트 Pod를 생성합니다.
oc create -f test-qinq-pod.yaml
$ oc create -f test-qinq-pod.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Pod가 있는 대상 노드에서 디버그 세션에 들어가 다음 명령을 실행하여 네트워크 인터페이스
ens5f0
에 대한 정보를 표시합니다.oc debug node/my-cluster-node -- bash -c "ip link show ens5f0"
$ oc debug node/my-cluster-node -- bash -c "ip link show ens5f0"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력의
vlan 프로토콜 802.1ad
ID는 인터페이스가 프로토콜 802.1ad(QinQ)를 사용하여 VLAN 태그 지정을 지원함을 나타냅니다. VLAN ID는 171입니다.