7.7. 멀티 네트워크 플러그인(Multus) 지원 [기술 프리뷰]
기본적으로 Red Hat OpenShift Data Foundation은 Red Hat OpenShift Software Defined Network(SDN)을 사용하도록 구성됩니다. 이 기본 구성에서 SDN은 다음과 같은 유형의 트래픽을 전달합니다.
- Pod 간 트래픽
- OpenShift Data Foundation 공용 네트워크 트래픽이라는 OpenShift Data Foundation 트래픽에 대한 Pod
- OpenShift Data Foundation 클러스터 네트워크 트래픽이라는 OpenShift Data Foundation 복제 및 재조정
그러나 OpenShift Data Foundation 4.8 이상에서는 다양한 유형의 네트워크 트래픽을 격리하여 보안 및 성능을 개선하기 위해 Multus를 사용할 수 있는 기술 프리뷰로 지원합니다.
Multus 지원은 베어 메탈 및 VMWare 배포에서만 지원되고 테스트된 기술 프리뷰 기능입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
7.7.1. 다중 네트워크 이해하기
Kubernetes에서 컨테이너 네트워킹은 컨테이너 네트워크 인터페이스(CNI)를 구현하는 네트워킹 플러그인에 위임됩니다.
OpenShift Container Platform은 Multus CNI 플러그인을 사용하여 CNI 플러그인 체인을 허용합니다. 클러스터 설치 중에 기본 pod 네트워크를 구성합니다. 기본 네트워크는 클러스터의 모든 일반 네트워크 트래픽을 처리합니다. 사용 가능한 CNI 플러그인을 기반으로 추가 네트워크를 정의하고 이러한 네트워크 중 하나 이상을 pod에 연결할 수 있습니다. 필요에 따라 클러스터에 2개 이상의 추가 네트워크를 정의 할 수 있습니다. 따라서 스위칭 또는 라우팅과 같은 네트워크 기능을 제공하는 pod를 구성할 때 유연성이 제공됩니다.
7.7.1.1. 추가 네트워크 사용 시나리오
데이터 플레인 및 컨트롤 플레인 분리를 포함하여 네트워크 격리가 필요한 상황에서 추가 네트워크를 사용할 수 있습니다. 네트워크 트래픽 격리는 다음과 같은 성능 및 보안상의 이유로 유용합니다.
- 성능
- 각 플레인의 트래픽 수량을 관리하기 위해 두 개의 다른 플레인으로 트래픽을 보낼 수 있습니다.
- 보안
- 보안 고려 사항을 위해 특별히 관리되는 네트워크 플레인으로 중요한 트래픽을 보낼 수 있으며 테넌트 또는 고객 간에 공유되지 않아야 하는 개인 데이터를 분리할 수 있습니다.
클러스터의 모든 pod는 여전히 클러스터 전체의 기본 네트워크를 사용하여 클러스터 전체의 연결을 유지합니다. 모든 pod에는 클러스터 전체 pod 네트워크에 연결된 eth0
인터페이스가 있습니다. oc exec -it <pod_name> -- ip a
명령을 사용하여 pod의 인터페이스를 확인할 수 있습니다. Multus CNI를 사용하는 네트워크 인터페이스를 추가하는 경우 이름은 net1
, net2
, … , netN
입니다.
Pod에 추가 네트워크 인터페이스를 연결하려면 인터페이스 연결 방법을 정의하는 구성을 생성해야 합니다. NetworkAttachmentDefinition
CR(사용자 정의 리소스)을 사용하여 각 인터페이스를 지정합니다. 각 CR 내부의 CNI 구성은 해당 인터페이스의 생성 방법을 정의합니다.
7.7.2. Multus를 사용하여 스토리지 트래픽 분리
Multus를 사용하려면 OpenShift Data Foundation 클러스터를 배포하기 전에 나중에 클러스터에 연결할 네트워크 연결 정의(NAD)를 생성해야 합니다. 자세한 내용은 다음을 참조하십시오.
- 베어 메탈의 네트워크 연결 정의 생성
- VMware의 네트워크 연결 정의 생성
Multus를 사용하면 하드웨어 설정 또는 VMWare 인스턴스 네트워크 설정에 따라 다음 구성이 가능합니다.
듀얼 네트워크 인터페이스 권장 구성이 있는 노드
분리된 스토리지 트래픽
- OpenShift SDN에 대한 하나의 인터페이스 구성(포드가 Pod 트래픽에 대한 경우)
- 모든 OpenShift Data Foundation 트래픽에 대해 하나의 인터페이스 구성
트리플 네트워크 인터페이스가 권장되는 구성
전체 트래픽 분리
- OpenShift SDN에 대한 하나의 인터페이스 구성(포드가 Pod 트래픽에 대한 경우)
- OpenShift Data Foundation 트래픽(OpenShift Data Foundation 공용 트래픽)으로 모든 Pod에 대해 하나의 인터페이스를 구성합니다.
- 모든 OpenShift Data Foundation 복제 및 재조정 트래픽(OpenShift Data Foundation 클러스터 트래픽)에 대해 하나의 인터페이스를 구성합니다.
7.7.3. Multus 구성에 권장되는 네트워크 구성 및 요구 사항
Multus 구성을 활용하려면 다음 사전 요구 사항을 충족해야 합니다.
- OpenShift Data Foundation을 배포하는 데 사용되는 모든 노드에는 완전한 Multus 구성을 보장하기 위해 동일한 네트워크 인터페이스 구성이 있어야 합니다. 모든 노드의 네트워크 인터페이스 이름은 동일해야 하며 Multus 공용 네트워크 및 Multus 클러스터 네트워크의 동일한 기본 전환 메커니즘에 연결되어 있어야 합니다.
- OpenShift Data Foundation을 영구 스토리지에 활용하는 애플리케이션을 배포하는 데 사용되는 모든 작업자 노드에는 완전히 작동하는 Multus 구성을 보장하기 위해 동일한 네트워크 인터페이스 구성이 있어야 합니다. 두 인터페이스 중 하나는 스토리지 노드에서 Multus 공용 네트워크를 구성하는 데 사용되는 것과 동일한 인터페이스 이름이어야 합니다. 모든 Worker 네트워크 인터페이스는 스토리지 노드의 Multus 공용 네트워크에 사용된 것과 동일한 기본 전환 메커니즘에 연결되어 있어야 합니다.
듀얼 네트워크 인터페이스가 분리되는 구성 스키마 예:
FlexVolumele 네트워크 인터페이스 전체 구성 스키마적 예:
OpenShift Data Foundation OSD가 실행 중인 스토리지 노드만 Multus를 통해 구성된 OpenShift Data Foundation 클러스터 네트워크에 액세스해야 합니다.
베어 메탈에 대한 Multus 기반 구성을 구성하는 데 필요한 단계는 Multus 네트워크 생성을 참조하십시오.
VMware 에서 Multus 기반 구성을 구성하는 데 필요한 단계는 Multus 네트워크 생성을 참조하십시오.