1장. 다중 네트워크 이해하기
기본적으로 OVN-Kubernetes는 OpenShift Container Platform 클러스터의 컨테이너 네트워크 인터페이스(CNI) 역할을 합니다. 클러스터의 기본 CNI로 OVN-Kubernetes를 사용하면 OpenShift Container Platform 관리자나 사용자가 사용자 정의 네트워크(UDN) 또는 NetworkAttachmentDefinition(NAD)을 활용하여 클러스터의 모든 일반 네트워크 트래픽을 처리하는 하나 이상의 기본 네트워크를 만들 수 있습니다. 사용자 정의 네트워크와 네트워크 연결 정의는 모두 다음 네트워크 유형으로 사용될 수 있습니다.
- 기본 네트워크 : Pod의 기본 네트워크 역할을 합니다. 기본적으로 모든 트래픽은 다른 네트워크를 통해 트래픽을 보내도록 Pod 경로가 구성되지 않는 한 기본 네트워크를 통해 전달됩니다.
- 보조 네트워크 : Pod의 기본이 아닌 보조 네트워크 역할을 합니다. 2차 네트워크는 특정 트래픽 유형이나 목적에 맞춰 전담된 별도의 인터페이스를 제공합니다. 보조 네트워크를 사용하도록 명시적으로 구성된 Pod 트래픽만 해당 인터페이스를 통해 라우팅됩니다.
그러나 클러스터 설치 중에 OpenShift Container Platform 관리자는 Multus CNI 플러그인을 활용하여 대체 기본 보조 Pod 네트워크를 구성할 수 있습니다. Multus를 사용하면 ipvlan, macvlan 또는 네트워크 연결 정의와 같은 여러 CNI 플러그인을 함께 사용하여 포드의 보조 네트워크 역할을 할 수 있습니다.
사용자 정의 네트워크는 OVN-Kubernetes를 CNI로 사용하는 경우에만 사용할 수 있습니다. 다른 CNI와 함께 사용하는 것은 지원되지 않습니다.
사용 가능한 CNI 플러그인을 기반으로 보조 네트워크를 정의하고 이러한 네트워크 중 하나 이상을 포드에 연결할 수 있습니다. 필요에 따라 클러스터에 대해 두 개 이상의 보조 네트워크를 정의할 수 있습니다. 따라서 스위칭 또는 라우팅과 같은 네트워크 기능을 제공하는 pod를 구성할 때 유연성이 제공됩니다.
지원되는 CNI 플러그인의 전체 목록은 "OpenShift Container Platform의 보조 네트워크"를 참조하세요.
사용자 정의 네트워크에 대한 자세한 내용은 사용자 정의 네트워크(UDN) 정보를 참조하세요.
네트워크 연결 정의에 대한 자세한 내용은 NetworkAttachmentDefinition을 사용하여 기본 네트워크 만들기를 참조하세요.
1.1. 보조 네트워크의 사용 시나리오 링크 복사링크가 클립보드에 복사되었습니다!
데이터 플레인과 제어 플레인 분리를 포함하여 네트워크 격리가 필요한 상황에서는 보조 네트워크 라고도 하는 보조 네트워크를 사용할 수 있습니다. 네트워크 트래픽 격리는 다음과 같은 성능 및 보안상의 이유로 유용합니다.
성능
교통 관리 : 두 개의 서로 다른 비행기에 교통을 보내 각 비행기를 따라 얼마나 많은 교통량이 있는지 관리할 수 있습니다.
보안
네트워크 격리 : 보안을 고려하여 특별히 관리되는 네트워크 평면으로 민감한 트래픽을 전송할 수 있으며, 테넌트나 고객 간에 공유해서는 안 되는 개인 데이터를 분리할 수 있습니다.
클러스터의 모든 pod는 여전히 클러스터 전체의 기본 네트워크를 사용하여 클러스터 전체의 연결을 유지합니다. 모든 pod에는 클러스터 전체 pod 네트워크에 연결된 eth0
인터페이스가 있습니다. oc exec -it <pod_name> -- ip a
명령을 사용하여 pod의 인터페이스를 확인할 수 있습니다. Multus CNI를 사용하는 보조 네트워크 인터페이스를 추가하는 경우 net1
, net2
, …, netN
이라는 이름이 지정됩니다.
포드에 보조 네트워크 인터페이스를 연결하려면 인터페이스가 연결되는 방식을 정의하는 구성을 만들어야 합니다. UserDefinedNetwork
사용자 정의 리소스(CR) 또는 NetworkAttachmentDefinition
CR을 사용하여 각 인터페이스를 지정합니다. 각 CR 내부의 CNI 구성은 해당 인터페이스의 생성 방법을 정의합니다.
UserDefinedNetwork
CR을 만드는 방법에 대한 자세한 내용은 사용자 정의 네트워크 정보를 참조하세요.
NetworkAttachmentDefinition CR을 만드는 방법에 대한 자세한 내용은 NetworkAttachmentDefinition을 사용하여 기본 네트워크 만들기를 참조하세요.