5.3.2.2. Flannel SDN
Flannel 은 컨테이너를 위해 특별히 설계된 가상 네트워킹 계층입니다. OpenShift Container Platform은 기본 소프트웨어 정의 네트워킹(SDN) 구성 요소가 아닌 네트워킹 컨테이너에 사용할 수 있습니다. 이 기능은 OpenStack과 같은 SDN에도 의존하는 클라우드 공급자 플랫폼에서 OpenShift Container Platform을 실행하고 두 플랫폼을 통해 패킷을 두 번 캡슐화하지 않으려는 경우 유용합니다.
아키텍처
OpenShift Container Platform은 host-gw 모드에서 flannel 을 실행하여 컨테이너에서 컨테이너로 경로를 매핑합니다. 네트워크 내의 각 호스트는 flanneld 라는 에이전트를 실행합니다. 이 에이전트는 다음을 담당합니다.
- 각 호스트에서 고유한 서브넷 관리
- 호스트의 각 컨테이너에 IP 주소 배포
- 다른 호스트의 경우에도 한 컨테이너의 경로 매핑
각 flanneld 에이전트는 중앙 집중식 etcd 저장소에 이 정보를 제공하므로 호스트의 다른 에이전트가 flannel 네트워크 내의 다른 컨테이너로 패킷을 라우팅할 수 있습니다.
다음 다이어그램에서는 flannel 네트워크를 사용하여 한 컨테이너에서 다른 컨테이너의 아키텍처 및 데이터 흐름을 보여줍니다.
노드 1 에는 다음 경로가 포함됩니다.
default via 192.168.0.100 dev eth0 proto static metric 100 10.1.15.0/24 dev docker0 proto kernel scope link src 10.1.15.1 10.1.20.0/24 via 192.168.0.200 dev eth0
노드 2 에는 다음 경로가 포함됩니다.
default via 192.168.0.200 dev eth0 proto static metric 100 10.1.20.0/24 dev docker0 proto kernel scope link src 10.1.20.1 10.1.15.0/24 via 192.168.0.100 dev eth0