7.2. SR-IOV 지원 워크로드에 대한 QinQ 지원 구성


사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • cluster-admin 역할의 사용자로 클러스터에 액세스할 수 있어야 합니다.
  • SR-IOV Network Operator가 설치되어 있습니다.

프로세스

  1. 다음 내용을 사용하여 sriovnetpolicy-810-sriov-node-network.yaml 이라는 이름의 파일을 만듭니다.

    apiVersion: sriovnetwork.openshift.io/v1
    kind: SriovNetworkNodePolicy
    metadata:
      name: sriovnetpolicy-810
      namespace: openshift-sriov-network-operator
    spec:
      deviceType: netdevice
      nicSelector:
        pfNames:
          - ens5f0#0-9
      nodeSelector:
        node-role.kubernetes.io/worker-cnf: ""
      numVfs: 10
      priority: 99
      resourceName: resource810
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 SriovNetworkNodePolicy 오브젝트를 생성합니다.

    $ oc create -f sriovnetpolicy-810-sriov-node-network.yaml
    Copy to Clipboard Toggle word wrap
  3. 별도의 터미널 창을 열고 다음 명령을 실행하여 openshift-sriov-network-operator 네임스페이스에 지정된 노드의 SR-IOV 네트워크 노드 상태의 동기화 상태를 모니터링합니다.

    $ watch -n 1 'oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath="{.status.syncStatus}"'
    Copy to Clipboard Toggle word wrap

    동기화 상태가 InProgress 에서 Succeeded 로 변경되었음을 나타냅니다.

  4. SriovNetwork 객체를 생성하고 인프라에 속하므로 S-태그 또는 서비스 태그 라고 하는 외부 VLAN을 설정합니다.

    중요

    스위치의 트렁크 인터페이스에서 VLAN을 구성해야 합니다. 또한, QinQ 태깅을 지원하기 위해 일부 스위치를 추가로 구성해야 할 수도 있습니다.

    1. 다음 내용을 사용하여 nad-sriovnetwork-1ad-810.yaml 이라는 이름의 파일을 만듭니다.

      apiVersion: sriovnetwork.openshift.io/v1
      kind: SriovNetwork
      metadata:
        name: sriovnetwork-1ad-810
        namespace: openshift-sriov-network-operator
      spec:
        ipam: '{}'
        vlan: 171 
      1
      
        vlanProto: "802.1ad" 
      2
      
        networkNamespace: default
        resourceName: resource810
      Copy to Clipboard Toggle word wrap
      1
      S-태그 VLAN 태그를 171 로 설정합니다.
      2
      가상 기능(VF)에 할당할 VLAN 프로토콜을 지정합니다. 지원되는 값은 802.1ad802.1q 입니다. 기본값은 802.1q 입니다.
    2. 다음 명령을 실행하여 CR 오브젝트를 생성합니다.

      $ oc create -f nad-sriovnetwork-1ad-810.yaml
      Copy to Clipboard Toggle word wrap
  5. 내부 VLAN이 있는 NetworkAttachmentDefinition 객체를 만듭니다. 내부 VLAN은 네트워크 기능에 속하므로 종종 C 태그 또는 고객 태그 라고 합니다.

    1. 다음 내용을 사용하여 nad-cvlan100.yaml 이라는 파일을 만듭니다.

      apiVersion: k8s.cni.cncf.io/v1
      kind: NetworkAttachmentDefinition
      metadata:
        name: nad-cvlan100
        namespace: default
      spec:
        config: '{
          "name": "vlan-100",
          "cniVersion": "0.3.1",
          "type": "vlan",
          "linkInContainer": true,
          "master": "net1", 
      1
      
          "vlanId": 100,
          "ipam": {"type": "static"}
        }'
      Copy to Clipboard Toggle word wrap
      1
      포드 내부의 VF 인터페이스를 지정합니다. Pod 주석에 이름이 설정되지 않았으므로 기본 이름은 net1 입니다.
    2. 다음 명령을 실행하여 YAML 파일을 적용합니다.

      $ oc apply -f nad-cvlan100.yaml
      Copy to Clipboard Toggle word wrap

검증

  • 다음 절차에 따라 노드에서 QinQ가 활성화되어 있는지 확인하세요.

    1. 다음 내용을 사용하여 test-qinq-pod.yaml 이라는 파일을 만듭니다.

      apiVersion: v1
      kind: Pod
      metadata:
        name: test-pod
        annotations:
          k8s.v1.cni.cncf.io/networks: sriovnetwork-1ad-810, nad-cvlan100
      spec:
        containers:
          - name: test-container
            image: quay.io/ocp-edge-qe/cnf-gotests-client:v4.10
            imagePullPolicy: Always
            securityContext:
              privileged: true
      Copy to Clipboard Toggle word wrap
    2. 다음 명령을 실행하여 테스트 포드를 만듭니다.

      $ oc create -f test-qinq-pod.yaml
      Copy to Clipboard Toggle word wrap
    3. 다음 명령을 실행하여 포드가 있는 대상 노드에서 디버그 세션을 시작하고 네트워크 인터페이스 ens5f0 에 대한 정보를 표시합니다.

      $ oc debug node/my-cluster-node -- bash -c "ip link show ens5f0"
      Copy to Clipboard Toggle word wrap

      출력 예

      6: ens5f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
      link/ether b4:96:91:a5:22:10 brd ff:ff:ff:ff:ff:ff
      vf 0 link/ether a2:81:ba:d0:6f:f3 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
      vf 1 link/ether 8a:bb:0a:36:f2:ed brd ff:ff:ff:ff:ff:ff, vlan 171, vlan protocol 802.1ad, spoof checking on, link-state auto, trust off
      vf 2 link/ether ca:0e:e1:5b:0c:d2 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
      vf 3 link/ether ee:6c:e2:f5:2c:70 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
      vf 4 link/ether 0a:d6:b7:66:5e:e8 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
      vf 5 link/ether da:d5:e7:14:4f:aa brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
      vf 6 link/ether d6:8e:85:75:12:5c brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
      vf 7 link/ether d6:eb:ce:9c:ea:78 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
      vf 8 link/ether 5e:c5:cc:05:93:3c brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust on
      vf 9 link/ether a6:5a:7c:1c:2a:16 brd ff:ff:ff:ff:ff:ff, spoof checking on, link-state auto, trust off
      Copy to Clipboard Toggle word wrap

      출력에 있는 VLAN 프로토콜 802.1ad ID는 인터페이스가 프로토콜 802.1ad(QinQ)를 사용하여 VLAN 태그를 지원함을 나타냅니다. VLAN ID는 171입니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동