Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

구축 모델

요약 

클라우드 네이티브 Contrail Networking은 단일 Kubernetes 클러스터에서 통합 네트워킹 플랫폼으로, 또는 여러 분산된 업스트림 Kubernetes 클러스터에 대한 중앙 집중식 네트워킹 플랫폼으로 모두 사용할 수 있습니다. 두 경우 모두 Contrail은 워크로드가 인스턴스화되는 위치를 관찰하고 해당 워크로드를 적절한 오버레이 네트워크에 연결함으로써 인프라의 통합 구성 요소로 작동합니다.

단일 클러스터 구축

클라우드 네이티브 Contrail Networking은 단일 Kubernetes 클러스터에서 통합 네트워킹 플랫폼으로 사용할 수 있으며, 워크로드가 인스턴스화되는 위치를 감시하고 해당 워크로드를 적절한 오버레이 네트워크에 연결합니다.

단일 클러스터 구축(그림 1)에서 Contrail 컨트롤러는 Kubernetes 컨트롤 플레인에 위치하며 호스트 클러스터에 대한 네트워크 구성 및 네트워크 컨트롤 플레인을 제공합니다. Contrail 데이터 플레인 구성 요소는 모든 노드에 상주하며 워크로드에 대한 패킷 송수신 기능을 제공합니다.

그림 1: 단일 클러스터 배포 Single Cluster Deployment

다중 클러스터 구축

다중 클러스터 구축(그림 2)에서 Contrail 컨트롤러는 자체 Kubernetes 클러스터에 상주하며 다른 클러스터에 네트워킹을 제공합니다. Contrail 컨트롤러가 상주하는 Kubernetes 클러스터를 중앙 클러스터라고 합니다. 워크로드를 수용하는 Kubernetes 클러스터를 분산 워크로드 클러스터라고 합니다.

그림 2: 다중 클러스터 구축 Multi-Cluster Deployment

이러한 방식으로 네트워크 기능을 중앙 집중화하면 구성 및 관리가 더 쉬워질 뿐만 아니라 일관된 네트워크 정책 및 보안을 더 쉽게 적용할 수 있습니다.

그림 3은 이 설정에 대한 자세한 정보를 제공합니다. Contrail Controller는 중앙 클러스터의 Kubernetes 컨트롤 플레인에 상주하며, 각 워크로드 클러스터에 대한 kubemanager를 포함합니다. 일반적으로 중앙 클러스터에는 작업자 노드가 없습니다. 대신 워크로드는 분산된 워크로드 클러스터의 작업자 노드에 상주합니다. Contrail CNI 플러그인과 vRouter는 워크로드 클러스터의 작업자 노드에 상주합니다. 워크로드 클러스터의 Kubernetes 컨트롤 플레인에는 Contrail 컨트롤러 구성 요소가 포함되어 있지 않습니다.

그림 3: 다중 클러스터 구성 요소 Multi-Cluster Components

다중 클러스터 Contrail 컨트롤러는 두 가지 주요 방식에서 단일 클러스터 Contrail 컨트롤러와 다릅니다.

  • 다중 클러스터 Contrail 컨트롤러에는 각 분산 워크로드 클러스터에 대해 인스턴스화된 contrail-k8s-kubemanager 포드가 있습니다. 분산 워크로드 클러스터를 중앙 클러스터에 연결하는 절차의 일부로, 할당된 워크로드 클러스터에 영향을 미치는 리소스의 변경 사항을 감시하는 contrail-k8s-kubemanager 배포를 명시적으로 생성하고 할당합니다.
  • 다중 클러스터 Contrail Controller는 다중 클러스터 감시 기술을 사용하여 분산 워크로드 클러스터의 변경 사항을 감지합니다.

다중 클러스터 contrail-k8s-kubemanager Pod의 기능은 단일 클러스터와 동일합니다. 할당된 클러스터에 영향을 주는 일반 Kubernetes 리소스의 변경 사항을 감시하고 그에 따라 변경 사항에 따라 조치를 취합니다.

다중 클러스터 구축의 다른 모든 Contrail 구성 요소는 단일 클러스터 구축과 동일한 방식으로 작동합니다. 예를 들어, 네트워크 컨트롤 플레인은 일반 Kubernetes REST 채널 외부에서 XMPP를 사용하여 데이터 플레인 구성 요소와 통신합니다. 이 때문에 네트워크 컨트롤 플레인은 통신하는 데이터 플레인 구성 요소가 동일한 클러스터에 있는지 또는 다른 클러스터에 있는지 여부에 무관심합니다. 유일한 요구 사항은 데이터 플레인 구성 요소에 연결할 수 있어야 한다는 것입니다.