귀하의 경험을 개선할 수 있도록 도와주십시오.

귀하의 의견을 알려주십시오.

2분이 소요되는 설문 조사에 시간을 내주시겠습니까?

close
keyboard_arrow_left
list Table of Contents
이 페이지 내용
keyboard_arrow_right

이 기계 번역이 도움이 되었습니까?

starstarstarstarstar
Go to English page
면책 조항:

이 페이지는 타사 기계 번역 소프트웨어를 사용해 번역됩니다. 주니퍼 네트웍스에서는 우수한 품질의 번역을 제공하기 위한 합리적인 수준의 노력을 기울이지만 해당 컨텐츠의 정확성을 보장할 수 없습니다. 본 번역에 포함된 정보의 정확성과 관련해 의문이 있는 경우 영문 버전을 참조하시기 바랍니다. 다운로드 가능한 PDF는 영어로만 제공됩니다.

L3 VLAN 하위 인터페이스 컨피그레이션 예

date_range 27-Nov-24

계층 3 VLAN 하위 인터페이스가 있는 사용자 포드를 클라우드 네이티브 라우터의 인스턴스에 추가하는 방법에 대해 알아보려면 이 주제를 읽어보십시오.

개요

계층 3 VLAN 하위 인터페이스로 사용자 포드를 구성하고 클라우드 네이티브 라우터 인스턴스에 연결할 수 있습니다. 주니퍼 클라우드 네이티브 라우터에는 구축 시 구성된 L3 인터페이스가 있어야 합니다. cRPD는 패브릭 인터페이스에 대한 유효한 VLAN 구성으로 구성되어야 합니다. 예를 들어:

content_copy zoom_out_map
set interfaces ens1f1v1 unit 201 vlan-id 201
set interfaces ens1f1v1 unit 201 family inet address 192.168.123.1/24
set interfaces ens1f1v1 unit 201 family inet6 address abcd:192:168:123::1/64
set routing-instance blue interface ens1f1v1.201

개략적인 작업은 다음과 같습니다.

  • NAD(네트워크 연결 정의) 정의 및 적용 - NAD 파일은 Multus가 JCNR-CNI를 호출하고 Pod 인터페이스를 연결할 네트워크를 생성하는 데 필요한 구성을 정의합니다.

  • Pod YAML 파일을 정의하여 클라우드 네이티브 라우터 클러스터에 적용 - Pod YAML에는 JCNR-CNI에서 생성한 네트워크에 대한 주석과 Pod 사양이 포함되어 있습니다

    메모:

    NAD 및 Pod YAML 파일에 대한 자세한 내용은 클라우드 네이티브 라우터 사용 사례 및 구성 개요 항목을 검토하십시오.

구성 예

  1. 다음은 레이어 3 VLAN 하위 인터페이스를
    content_copy zoom_out_map
    apiVersion: "k8s.cni.cncf.io/v1"
    kind: NetworkAttachmentDefinition
    metadata:
      name: vrf201
    spec:
      config: '{
        "cniVersion":"0.4.0",
        "name": "vrf201",
        "plugins": [
          {
            "type": "jcnr",
            "args": {
              "instanceName": "vrf201",
              "instanceType": "virtual-router",
              "parentInterface":"net1",
              "vlanId": "201"
            },
            "ipam": {
              "type": "static",
              "addresses":[
                {
                  "address":"99.61.0.2/16",
                  "gateway":"99.61.0.1"
                },
                {
                  "address":"1234::99.61.0.2/120",
                  "gateway":"1234::99.61.0.1"
                }
              ]
            },
            "kubeConfig":"/etc/kubernetes/kubelet.conf"
          }
        ]
      }'
    생성하기 위한 NAD의 예입니다. NAD는 상위 인터페이스 net1 와 VLAN ID201를 사용하여 가상 라우터 인스턴스를 vrf201 정의합니다. virtual-router 인스턴스 유형은 VPN 라우팅 및 포워딩 인스턴스 유형과 유사하지만 VPN과 관련되지 않은 애플리케이션에 사용됩니다. 이 인스턴스 유형에는 가상 라우팅 및 포워딩(VRF) 가져오기, VRF 내보내기, VRF 대상 또는 경로 구분자 요구 사항이 없습니다. Pod VLAN 하위 인터페이스가 인스턴스에 연결됩니다vrf201. 또한 NAD는 Pod 인터페이스에 할당할 고정 IP 주소를 정의합니다.
  2. NAD 매니페스트를 적용하여 네트워크를 생성합니다.
    content_copy zoom_out_map
    kubectl apply -f nad_l3_vlan_subinterface_201.yaml
    networkattachmentdefinition.k8s.cni.cncf.io/vrf201 created
  3. NAD가 생성되었는지 확인합니다.
    content_copy zoom_out_map
    kubectl get net-attach-def
    NAME      AGE
    vrf201    30s
  4. 다음은 및 vrf202 네트워크에
    content_copy zoom_out_map
    apiVersion: v1
    kind: Pod
    metadata:
      name:   pod1
      annotations:
        k8s.v1.cni.cncf.io/networks: |
          [
            {
              "name": "vrf201",
              "interface":"net1.201"
            }
          ]
    spec:
      containers:
        - name: pod1
          image: ubuntu:latest
          imagePullPolicy: IfNotPresent
          securityContext:
            privileged: false
          env:
            - name: KUBERNETES_POD_UID
              valueFrom:
                fieldRef:
                   fieldPath: metadata.uid
          volumeMounts:
            - name: dpdk
              mountPath: /dpdk
              subPathExpr: $(KUBERNETES_POD_UID)
      volumes:
        - name: dpdk
          hostPath:
            path: /var/run/jcnr/containers
    연결된 Pod를 생성하는 yaml의 vrf201 예입니다. Pod는 주석을 k8s.v1.cni.cncf.io/networks 사용하여 라우터 인스턴스에 연결됩니다.
  5. Pod 매니페스트를 적용합니다.
    content_copy zoom_out_map
    [root@jcnr-01]# kubectl apply -f pod_l3_subinterface.yaml 
    pod/pod1 created
  6. 포드가 실행 중인지 확인합니다.
    content_copy zoom_out_map
    [root@jcnr-01 ~]# kubectl get pods 
    NAME   READY   STATUS    RESTARTS   AGE
    pod1   1/1     Running   0          38s
  7. 포드를 설명하여 보조 인터페이스가 생성되고 네트워크에 연결 vrf201 되었는지 확인합니다. (간결성을 위해 출력이 잘립니다.)
    content_copy zoom_out_map
    [root@jcnr-01 ~]# kubectl describe pod pod1
    Name:         pod1
    Namespace:    default
    Priority:     0
    Node:         jcnr-01/10.100.20.25
    Start Time:   Mon, 26 Jun 2023 09:53:31 -0400
    Labels:       <none>
    Annotations:  cni.projectcalico.org/containerID: 90de252886b3e0a97526ac175544078fb03debf05650946d759e2de0d5179c17
                  cni.projectcalico.org/podIP: 10.233.91.126/32
                  cni.projectcalico.org/podIPs: 10.233.91.126/32
                  jcnr.juniper.net/dpdk-interfaces:
                    [
                        {
                            "name": "net1.201",
                            "vhost-adaptor-path": "/dpdk/vhost-net1.sock",
                            "vhost-adaptor-mode": "client",
                            "ipv4-address": "99.61.0.2/16",
                            "ipv6-address": "1234::633d:2/120",
                            "mac-address": "02:00:00:8C:97:A2",
                            "vlan-id": "201"
                        }
                    ]
                  k8s.v1.cni.cncf.io/network-status:
                    [{
                        "name": "k8s-pod-network",
                        "ips": [
                            "10.233.91.126"
                        ],
                        "default": true,
                        "dns": {}
                    },{
                        "name": "default/vrf201",
                        "interface": "net1.201",
                        "ips": [
                            "99.61.0.2",
                            "1234::633d:2"
                        ],
                        "mac": "02:00:00:8C:97:A2",
                        "dns": {}
                    }]
    ...
  8. vRouter에 해당 인터페이스가 생성되었는지 확인합니다. vRouter CLI에 액세스 하고 명령을 실행합니다 vif --list .
    content_copy zoom_out_map
    vif0/11     PCI: 0000:b3:11.1 (Speed 10000, Duplex 1) NH: 16 MTU: 9014            ---> fabric interface
                Type:Physical HWaddr:b2:56:78:5c:af:fa IPaddr:0.0.0.0
                DDP: OFF SwLB: ON
                Vrf:0 Mcast Vrf:0 Flags:L3L2Vof QOS:0 Ref:42
                RX port   packets:10988509 errors:0
                RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                Fabric Interface: 0000:b3:11.1  Status: UP  Driver: net_iavf
                RX packets:10988509  bytes:5582067106 errors:0
                TX packets:10988484  bytes:5581953776 errors:0
                Drops:0
                TX port   packets:10988484 errors:0
    
    vif0/17     PMD: ens1f1v1 NH: 44 MTU: 9000                                       ---> tap interface
                Type:Host HWaddr:b2:56:78:5c:af:fa IPaddr:0.0.0.0
                DDP: OFF SwLB: ON
                Vrf:0 Mcast Vrf:0 Flags:L3L2 QOS:0 Ref:41 TxXVif:11 
                RX device packets:2201  bytes:935980 errors:0
                RX queue  packets:2201 errors:0
                RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                RX packets:2201  bytes:935980 errors:0
                TX packets:493  bytes:161906 errors:0
                Drops:0
                TX queue  packets:493 errors:0
                TX device packets:493  bytes:161906 errors:0
    
    vif0/48     Virtual: ens1f1v1.201 Vlan(o/i)(,S): 201/201 NH: 161 MTU: 1514
                Parent:vif0/11  Sub-type:  physical-tap                            ---> L3 sub-interface, parent is a physical interface
                Type:Virtual(Vlan) HWaddr:b2:56:78:5c:af:fa IPaddr:192.168.123.1
                IP6addr:abcd:192:168:123::1
                DDP: OFF SwLB: ON
                Vrf:201 Mcast Vrf:201 Flags:L3DProxyEr QOS:-1 Ref:4
                RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                RX packets:0  bytes:0 errors:0
                TX packets:18  bytes:1836 errors:0
                Drops:0
    
    vif0/49     Virtual: ens1f1v1.201 Vlan(o/i)(,S): 201/201 NH: 156 MTU: 9000
                Parent:vif0/17  Sub-type:  Host-tap                                ---> L3 sub-interface, parent is a tap interface
                Type:Virtual(Vlan) HWaddr:b2:56:78:5c:af:fa IPaddr:192.168.123.1
                IP6addr:abcd:192:168:123::1
                DDP: OFF SwLB: ON
                Vrf:201 Mcast Vrf:65535 Flags:L3DProxyEr QOS:-1 Ref:4 TxXVif:48 
                RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                RX packets:18  bytes:1908 errors:0
                TX packets:0  bytes:0 errors:0
                Drops:0
    
    vif0/50     PMD: vhostnet1-9403fd77-648a-47 NH: 177 MTU: 9160                     ---> pod interface
                Type:Virtual HWaddr:00:00:5e:00:01:00 IPaddr:0.0.0.0
                DDP: OFF SwLB: ON
                Vrf:65535 Mcast Vrf:65535 Flags:L3DProxyEr QOS:-1 Ref:20
                RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                RX packets:0  bytes:0 errors:0
                TX packets:0  bytes:0 errors:0
                Drops:0
    
    vif0/51     Virtual: vhostnet1-9403fd77-648a-47.202 Vlan(o/i)(,S): 202/202 NH: 17 MTU: 1514
                Parent:vif0/50                                                        ---->L3 pod sub-interface, parent is the pod interface
                Type:Virtual(Vlan) HWaddr:00:00:5e:00:01:00 IPaddr:99.62.0.2
                IP6addr:1234::633e:2
                DDP: OFF SwLB: ON
                Vrf:2 Mcast Vrf:2 Flags:PL3DProxyEr QOS:-1 Ref:4
                RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0
                RX packets:0  bytes:0 errors:0
                TX packets:0  bytes:0 errors:0
                Drops:0
    해당하는 유효한 VRF 번호에 대해 하위 인터페이스에 할당된 IP 주소를 볼 수 있습니다.
external-footer-nav