2장. OVN-Kubernetes 아키텍처
2.1. OVN-Kubernetes 아키텍처 소개 링크 복사링크가 클립보드에 복사되었습니다!
다음 다이어그램은 OVN-Kubernetes 아키텍처를 보여줍니다.
그림 2.1. OVK-Kubernetes 아키텍처
주요 구성 요소는 다음과 같습니다.
- CMS(Cloud Management System) - OVN 통합을 위한 CMS 특정 플러그인을 제공하는 OVN용 플랫폼 특정 클라이언트입니다. 플러그인은 CMS 관련 형식의 CMS 구성 데이터베이스에 저장된 클라우드 관리 시스템의 개념을 OVN에서 이해하는 중간 표현으로 변환합니다.
-
OVN Northbound 데이터베이스(
nbdb
) 컨테이너 - CMS 플러그인에서 전달하는 논리 네트워크 구성을 저장합니다. -
OVN Southbound 데이터베이스(
sbdb
) 컨테이너 - 바인딩 테이블을 포함하여 각 노드의 OVS(Open vSwitch) 시스템의 물리적 및 논리적 네트워크 구성 상태를 저장합니다. -
OVN north 데몬(
ovn-northd
) -nbdb
컨테이너와sbdb
컨테이너 간의 중간 클라이언트입니다.nbdb
컨테이너에서 가져온 기존 네트워크 개념의 관점에서 논리 네트워크 구성을sbdb
컨테이너의 논리 데이터 경로 흐름으로 변환합니다.ovn-northd
데몬의 컨테이너 이름은northd
이며ovnkube-node
Pod에서 실행됩니다. -
OVN-controller -
sbdb
컨테이너에 필요한 정보 또는 업데이트에 대해 OVS 및 하이퍼바이저와 상호 작용하는 OVN 에이전트입니다.ovn-controller
는sbdb
컨테이너에서 논리 흐름을 읽고, 이를OpenFlow
흐름으로 변환하여 노드의 OVS 데몬으로 전송합니다. 컨테이너 이름은ovn-controller
이며ovnkube-node
Pod에서 실행됩니다.
OVN northd, northbound 데이터베이스 및 southbound 데이터베이스는 클러스터의 각 노드에서 실행되며 대부분 해당 노드에 로컬인 정보를 포함하고 처리합니다.
OVN northbound 데이터베이스에는 클라우드 관리 시스템(CMS)에서 전달된 논리적 네트워크 구성이 있습니다. OVN northbound 데이터베이스에는 논리 포트, 논리 스위치, 논리 라우터 등으로 제공되는 현재 원하는 네트워크 상태가 포함되어 있습니다. ovn-northd
(northd
컨테이너)는 OVN northbound 데이터베이스 및 OVN southbound 데이터베이스에 연결됩니다. OVN northbound 데이터베이스에서 가져온 기존 네트워크 개념의 관점에서 논리적 네트워크 구성을 OVN southbound 데이터베이스의 논리 데이터 경로로 변환합니다.
OVN southbound 데이터베이스에는 함께 연결하는 네트워크 및 바인딩 테이블에 대한 물리적 및 논리적 표현이 있습니다. 노드의 섀시 정보와 클러스터의 다른 노드에 연결하는 데 필요한 원격 전송 스위치 포트와 같은 기타 구성이 포함되어 있습니다. OVN southbound 데이터베이스에는 모든 논리 흐름도 포함되어 있습니다. 논리 흐름은 각 노드에서 실행되는 ovn-controller
프로세스와 공유되고 ovn-controller
는 이를 OpenFlow
규칙으로 전환하여 OVS( Open vSwitch
)를 프로그래밍합니다.
Kubernetes 컨트롤 플레인 노드에는 별도의 노드에 두 개의 ovnkube-control-plane
Pod가 포함되어 있으며 클러스터의 각 노드에 대해 IPAM(중앙 IP 주소 관리) 할당을 수행합니다. 언제든지 단일 ovnkube-control-plane
Pod가 리더입니다.