3.8. 컨테이너 네트워크 네임스페이스에서 마스터 인터페이스 구성
다음 섹션에서는 마스터 인터페이스를 기반으로 MAC-VLAN, IP-VLAN, VLAN 하위 인터페이스를 생성하고 관리하는 방법에 대한 지침 및 정보를 제공합니다.
3.8.1. 컨테이너 네트워크 네임스페이스에서 마스터 인터페이스 구성 정보 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너 네임스페이스에 있는 마스터
인터페이스를 기반으로 하는 MAC-VLAN, IP-VLAN 또는 VLAN 하위 인터페이스를 생성할 수 있습니다. 별도의 네트워크 연결 정의 CRD에서 Pod 네트워크 구성의 일부로 마스터
인터페이스를 생성할 수도 있습니다.
컨테이너 네임스페이스 마스터
인터페이스를 사용하려면 NetworkAttachmentDefinition
CRD의 하위 인터페이스에 존재하는 linkInContainer
매개변수에 대해 true
를 지정해야 합니다.
3.8.1.1. SR-IOV VF에서 여러 VLAN 생성 링크 복사링크가 클립보드에 복사되었습니다!
이 기능을 사용하는 예제 사용 사례는 SR-IOV VF를 기반으로 여러 VLAN을 생성하는 것입니다. 이렇게 하려면 SR-IOV 네트워크를 생성한 다음 VLAN 인터페이스에 대한 네트워크 연결을 정의하는 것으로 시작합니다.
다음 예제에서는 이 다이어그램에 설명된 설정을 구성하는 방법을 보여줍니다.
그림 3.1. VLAN 생성
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - SR-IOV Network Operator가 설치되어 있습니다.
프로세스
다음 명령을 사용하여 Pod를 배포하려는 전용 컨테이너 네임스페이스를 생성합니다.
oc new-project test-namespace
$ oc new-project test-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SR-IOV 노드 정책을 생성합니다.
SriovNetworkNodePolicy
오브젝트를 생성한 다음 YAML을sriov-node-network-policy.yaml
파일에 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고deviceType: netdevice
설정을 사용하는 SR-IOV 네트워크 노드 정책 구성 예제는 Mellanox Network Interface Cards(NIC)에 맞게 조정됩니다.다음 명령을 실행하여 YAML을 적용합니다.
oc apply -f sriov-node-network-policy.yaml
$ oc apply -f sriov-node-network-policy.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고노드를 재부팅해야 하므로 이를 적용하는 데 다소 시간이 걸릴 수 있습니다.
SR-IOV 네트워크를 생성합니다.
다음 예제 CR과 같이 추가 보조 SR-IOV 네트워크 연결에 대한
SriovNetwork
CR(사용자 정의 리소스)을 생성합니다. YAML을sriov-network-attachment.yaml
파일로 저장합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 YAML을 적용합니다.
oc apply -f sriov-network-attachment.yaml
$ oc apply -f sriov-network-attachment.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
VLAN 보조 네트워크를 생성합니다.
다음 YAML 예제를 사용하여
vlan100-additional-network-configuration.yaml
이라는 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 YAML 파일을 적용합니다.
oc apply -f vlan100-additional-network-configuration.yaml
$ oc apply -f vlan100-additional-network-configuration.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
이전 지정된 네트워크를 사용하여 포드 정의를 생성합니다.
다음 YAML 예제를 사용하여
pod-a.yaml
파일이라는 파일을 생성합니다.참고아래 매니페스트에는 다음 두 가지 리소스가 포함됩니다.
- 보안 레이블이 있는 네임스페이스
- 적절한 네트워크 주석이 있는 Pod 정의
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- VLAN 인터페이스의
마스터
로 사용할 이름입니다.
다음 명령을 실행하여 YAML 파일을 적용합니다.
oc apply -f pod-a.yaml
$ oc apply -f pod-a.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여
test-namespace
내에서nginx-pod
에 대한 자세한 정보를 가져옵니다.oc describe pods nginx-pod -n test-namespace
$ oc describe pods nginx-pod -n test-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.8.1.2. 컨테이너 네임스페이스에서 브릿지 마스터 인터페이스를 기반으로 하위 인터페이스 생성 링크 복사링크가 클립보드에 복사되었습니다!
컨테이너 네임스페이스에 존재하는 브리지 마스터
인터페이스를 기반으로 하위 인터페이스를 생성할 수 있습니다. 하위 인터페이스 생성은 다른 유형의 인터페이스에 적용할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
cluster-admin
권한이 있는 사용자로 OpenShift Container Platform 클러스터에 로그인되어 있습니다.
프로세스
다음 명령을 입력하여 Pod를 배포할 전용 컨테이너 네임스페이스를 생성합니다.
oc new-project test-namespace
$ oc new-project test-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 YAML 예제를 사용하여
bridge-nad.yaml
이라는 브릿지NetworkAttachmentDefinition
CRD(사용자 정의 리소스 정의) 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
NetworkAttachmentDefinition
CRD를 OpenShift Container Platform 클러스터에 적용합니다.oc apply -f bridge-nad.yaml
$ oc apply -f bridge-nad.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여
NetworkAttachmentDefinition
CRD를 성공적으로 생성했는지 확인합니다. 예상되는 출력에는 CryostatD CRD의 이름과 생성 기간이 분 단위로 표시됩니다.oc get network-attachment-definitions
$ oc get network-attachment-definitions
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 YAML 예제를 사용하여 IPVLAN 보조 네트워크 구성에 사용할
ipvlan-additional-network-configuration.yaml
이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 YAML 파일을 적용합니다.
oc apply -f ipvlan-additional-network-configuration.yaml
$ oc apply -f ipvlan-additional-network-configuration.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
NetworkAttachmentDefinition
CRD가 성공적으로 생성되었는지 확인합니다. 예상되는 출력에는 CryostatD CRD의 이름과 생성 기간이 분 단위로 표시됩니다.oc get network-attachment-definitions
$ oc get network-attachment-definitions
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 YAML 예제를 사용하여 Pod 정의에 사용할
pod-a.yaml
이라는 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- IPVLAN 인터페이스의
마스터
로 사용할 이름을 지정합니다.
다음 명령을 실행하여 YAML 파일을 적용합니다.
oc apply -f pod-a.yaml
$ oc apply -f pod-a.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 사용하여 Pod가 실행 중인지 확인합니다.
oc get pod -n test-namespace
$ oc get pod -n test-namespace
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE pod-a 1/1 Running 0 2m36s
NAME READY STATUS RESTARTS AGE pod-a 1/1 Running 0 2m36s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
test-namespace
내에서pod-a
리소스에 대한 네트워크 인터페이스 정보를 표시합니다.oc exec -n test-namespace pod-a -- ip a
$ oc exec -n test-namespace pod-a -- ip a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 출력은 네트워크 인터페이스
net2
가 물리적 인터페이스net1
과 연결되어 있음을 보여줍니다.