5.2. OpenShift SDN
5.2.1. 개요
OpenShift Container Platform에서는 소프트웨어 정의 네트워킹(SDN) 접근법을 사용하여 OpenShift Container Platform 클러스터 전체의 pod 간 통신이 가능한 통합 클러스터 네트워크를 제공합니다. 이 pod 네트워크는 OVS(Open vSwitch)를 사용하여 오버레이 네트워크를 구성하는 OpenShift SDN에 의해 설정 및 유지 관리됩니다.
OpenShift SDN은 Pod 네트워크를 구성하는 데 필요한 세 가지 SDN 플러그인을 제공합니다.
- ovs-subnet 플러그인은 원래 플러그인으로, 모든 포드가 다른 모든 포드 및 서비스와 통신할 수 있는 "플랫" 포드 네트워크를 제공합니다.
ovs-multitenant 플러그인은 포드 및 서비스에 대한 프로젝트 수준 격리를 제공합니다. 각 프로젝트에는 프로젝트에 할당된 포드의 트래픽을 확인하는 고유한 VNID(가상 네트워크 ID)가 수신됩니다. 다른 프로젝트의 Pod는 다른 프로젝트의 Pod 및 Service에서 패킷을 보내거나 받을 수 없습니다.
그러나 VNID 0을 수신하는 프로젝트는 다른 모든 포드와 통신할 수 있다는 점에서 더 권한이 부여되며 다른 모든 포드는 사용자와 통신할 수 있습니다. OpenShift Container Platform 클러스터에서 default 프로젝트에는 VNID 0이 있습니다. 이렇게 하면 로드 밸런서와 같은 특정 서비스가 클러스터의 다른 모든 포드와 통신할 수 있으며 그 반대의 경우도 마찬가지입니다.
- ovs-networkpolicy 플러그인을 사용하면 프로젝트 관리자가 NetworkPolicy 오브젝트를 사용하여 자체 격리 정책을 구성할 수 있습니다.
마스터 및 노드에서 SDN을 구성하는 방법에 대한 정보는 SDN 구성에서 확인할 수 있습니다.