overlay 네트워크 드라이버

overlay 네트워크 드라이버

Docker의 overlay 네트워크 드라이버를 설명하는 문서예요. 여러 Docker 호스트(노드)에 걸친 컨테이너를 하나의 가상 네트워크로 연결해요. 주로 Docker Swarm에서 사용돼요.

출처: Overlay networking driver

본문

overlay 드라이버는 여러 Docker 데몬(노드)에 분산된 컨테이너들을 하나의 L2 스위치처럼 보이게 연결하는 분산 네트워크를 만들어요. 주로 Swarm 클러스터에서 서비스 간 통신에 사용돼요.

특징

  • 노드 간 컨테이너 통신을 암호화된 VXLAN 터널로 구현해요.
  • 스웜 서비스가 같은 overlay 네트워크에 연결되면 서비스 이름으로 서로를 찾을 수 있어요.
  • 로드 밸런싱, 서비스 디스커버리를 지원해요.

사용 예시 (Swarm)

$ docker network create -d overlay myoverlay
$ docker service create --network myoverlay nginx

요구 사항

  • overlay 네트워크는 스웜 클러스터(swarm init)가 초기화되어 있어야 해요.
  • 노드 간 7946(UDP) 등 관련 포트가 열려 있어야 해요.
  • 키 관리(KV store)를 위해 스웜의 기본 키-값 저장소를 사용해요.

분산 애플리케이션을 여러 호스트에 걸쳐 배포할 때 핵심적인 네트워크 드라이버예요.

더 알아보기