2.5. Multus 네트워크 생성 [기술 프리뷰]

OpenShift Container Platform은 Multus CNI 플러그인을 사용하여 CNI 플러그인 연결을 허용합니다. 클러스터 설치 중에 기본 Pod 네트워크를 구성할 수 있습니다. 기본 네트워크는 클러스터의 모든 일반 네트워크 트래픽을 처리합니다.

사용 가능한 CNI 플러그인을 기반으로 추가 네트워크를 정의하고 이러한 네트워크 중 하나 이상을 Pod에 연결할 수 있습니다. Pod에 추가 네트워크 인터페이스를 연결하려면 인터페이스 연결 방법을 정의하는 구성을 생성해야 합니다.

NAD(NetworkAttachmentDefinition) CR(사용자 정의 리소스)을 사용하여 각 인터페이스를 지정합니다. 각 NetworkAttachmentDefinition 내부의 CNI 구성은 해당 인터페이스의 생성 방법을 정의합니다.

OpenShift Data Foundation은 macvlan라는 CNI 플러그인을 사용합니다. macvlan 기반 추가 네트워크를 생성하면 호스트의 pod가 물리적 네트워크 인터페이스를 사용하여 해당 호스트의 다른 호스트 및 Pod와 통신할 수 있습니다. macvlan 기반 추가 네트워크에 연결된 각 pod에는 고유 한 MAC 주소가 제공됩니다.

중요

Multus 지원은 베어 메탈 및 VMWare 배포에서만 지원되고 테스트된 기술 프리뷰 기능입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

2.5.1. 네트워크 연결 정의 생성

Multus를 사용하려면 올바른 네트워킹 구성이 이미 작동 중인 클러스터가 필요한 경우 권장 네트워크 구성 및 Multus 구성에 대한 요구 사항을 참조하십시오. 새로 생성된 NetworkAttachmentDefinition(NAD)은 스토리지 클러스터 설치 중에 선택할 수 있습니다. 이는 스토리지 클러스터 전에 생성해야 하는 이유입니다.

스토리지 클러스터 설치 중에 새로 생성된 NetworkAttachmentDefinition (NAD)을 선택할 수 있습니다. 이는 스토리지 클러스터를 생성하기 전에ECDHED를 생성해야 하는 이유입니다.

계획 가이드에 자세히 설명된 대로 생성한 Multus 네트워크는 OpenShift Data Foundation 트래픽에 대해 보유하고 있는 사용 가능한 네트워크 인터페이스 수에 따라 달라집니다. 모든 스토리지 트래픽을 두 인터페이스(기본 OpenShift SDN에 사용되는 인터페이스) 중 하나로 분리하거나 스토리지 트래픽을 클라이언트 스토리지 트래픽(공용) 및 스토리지 복제 트래픽(사설 또는 클러스터)으로 추가로 분리할 수 있습니다.

다음은 동일한 인터페이스의 모든 스토리지 트래픽, 공용 및 클러스터에 대한 NetworkAttachmentDefinition 예제입니다. 모든 스케줄링 가능한 노드에 하나의 추가 인터페이스가 필요합니다( 별도의 네트워크 인터페이스에서 OpenShift 기본 SDN).

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ocs-public-cluster
  namespace: openshift-storage
spec:
  config: '{
  	"cniVersion": "0.3.1",
  	"type": "macvlan",
  	"master": "ens2",
  	"mode": "bridge",
  	"ipam": {
    	    "type": "whereabouts",
    	    "range": "192.168.1.0/24"
  	}
  }'
참고

모든 네트워크 인터페이스 이름은 Multus 네트워크에 연결된 모든 노드에서 동일해야 합니다(즉, ocs-public-cluster의 경우 ens 2).

다음은 별도의 Multus 네트워크, 공용 네트워크, 클라이언트 스토리지 트래픽, 복제 트래픽 클러스터 상의 스토리지 트래픽에 대한 NetworkAttachmentDefinition의 예입니다. 이를 위해서는 OSD(Object ECDHEge Device) Pod를 호스팅하는 OpenShift 노드에 두 개의 추가 인터페이스가 필요하며, 다른 모든 스케줄링 가능한 노드에서 하나의 추가 인터페이스가 필요합니다(독립 네트워크 인터페이스에서 OpenShift 기본 SDN).

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ocs-public
  namespace: openshift-storage
spec:
  config: '{
  	"cniVersion": "0.3.1",
  	"type": "macvlan",
  	"master": "ens2",
  	"mode": "bridge",
  	"ipam": {
    	    "type": "whereabouts",
    	    "range": "192.168.1.0/24"
  	}
  }'

NetworkAttachmentDefinition:

apiVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: ocs-cluster
  namespace: openshift-storage
spec:
  config: '{
  	"cniVersion": "0.3.1",
  	"type": "macvlan",
  	"master": "ens3",
  	"mode": "bridge",
  	"ipam": {
    	    "type": "whereabouts",
    	    "range": "192.168.2.0/24"
  	}
  }'
참고

모든 네트워크 인터페이스 이름은 Multus 네트워크에 연결된 모든 노드에서 동일해야 합니다(즉, ocs-public의 경우 ens2, ocs-cluster의 경우 ens3).