7.17.2.2.3. CLI에서 Linux 브리지 네트워크 연결 정의 생성
네트워크 관리자는 cnv-bridge
유형의 네트워크 연결 정의를 구성하여 Pod 및 가상 머신에 계층 2 네트워킹을 제공할 수 있습니다.
사전 요구 사항
-
노드는 nftables를 지원해야 하며 MAC 스푸핑 검사를 사용하려면
nft
바이너리를 배포해야 합니다.
절차
- 가상 머신과 동일한 네임스페이스에 네트워크 연결 정의를 생성합니다.
다음 예와 같이 네트워크 연결 정의에 가상 머신을 추가합니다.
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: <bridge-network> 1 annotations: k8s.v1.cni.cncf.io/resourceName: bridge.network.kubevirt.io/<bridge-interface> 2 spec: config: '{ "cniVersion": "0.3.1", "name": "<bridge-network>", 3 "type": "cnv-bridge", 4 "bridge": "<bridge-interface>", 5 "macspoofchk": true, 6 "vlan": 1 7 }'
- 1
NetworkAttachmentDefinition
개체의 이름입니다.- 2
- 선택 사항: 노드 선택의 주석 키-값 쌍입니다. 여기서
bridge-interface
는 일부 노드에 구성된 브리지의 이름과 일치해야 합니다. 네트워크 연결 정의에 이 주석을 추가하면bridge-interface
브리지가 연결된 노드에서만 가상 머신 인스턴스가 실행됩니다. - 3
- 구성의 이름입니다. 구성 이름이 네트워크 연결 정의의
name
값과 일치하는 것이 좋습니다. - 4
- 이 네트워크 연결 정의에 대한 네트워크를 제공하는 CNI(컨테이너 네트워크 인터페이스) 플러그인의 실제 이름입니다. 다른 CNI를 사용하려는 경우를 제외하고 이 필드를 변경하지 마십시오.
- 5
- 노드에 구성된 Linux 브리지의 이름입니다.
- 6
- 선택 사항: MAC 스푸핑 검사를 활성화하는 플래그입니다.
true
로 설정하면 Pod 또는 게스트 인터페이스의 MAC 주소를 변경할 수 없습니다. 이 속성은 단일 MAC 주소만 Pod를 종료할 수 있도록 허용하여 MAC 스푸핑 공격에 대한 보안을 제공합니다. - 7
- 선택 사항: VLAN 태그. 노드 네트워크 구성 정책에 추가 VLAN 구성이 필요하지 않습니다.
참고Linux 브리지 네트워크 연결 정의는 가상 머신을 VLAN에 연결하는 가장 효율적인 방법입니다.
네트워크 연결 정의를 만듭니다.
$ oc create -f <network-attachment-definition.yaml> 1
- 1
- 여기서
<network-attachment-definition.yaml>
은 네트워크 연결 정의 매니페스트의 파일 이름입니다.
검증
다음 명령을 실행하여 네트워크 연결 정의가 생성되었는지 확인합니다.
$ oc get network-attachment-definition <bridge-network>