도커 스웜 모드 네트워크

정원식·2023년 12월 16일

Docker Swarm 정리

목록 보기
5/7

22년 2월에 작성한 글입니다.

스웜 네트워크

  • 스웜 모드는 각 도커 데몬의 네트워크가 하나로 묶인, 네트워크 풀이 필요
    • 라우팅 기능 지원 필요
  • 도커 스웜 매니저 노드에서 docker network ls 실행시, 아래와 같은 결과 확인 가능
    • 기본 네트워크: bridge, host, none
    • docker_gwbridge: 도커 스웜에서 오버레이(overlay) 네트워크를 사용할때 사용
    • ingress: 로드 밸런싱과 라우팅 메시에 사용됨

ingress 네트워크

  • 스웜 모드에서만 유효한 네트워크
  • 어떤 스웜 노드에 접근하더라도 서비스 내의 컨테이너에 접근할수 있도록 라우팅 메시를 구성
  • 서비스 내의 컨테이너에 대한 접근을 라운드 로빈 방식으로 분산하는 로드밸런싱 담당

ingress network

오버레이 네트워크

  • 오버레이 네트워크는 여러개의 도커 데몬을 하나의 네트워크 풀로 만드는 네트워크 가상화 기술
    • ingress 네트워크는 오버레이 네트워크 드라이버 사용
  • 여러개의 스웜모드에 할당된, 컨테이너는 오버레이 네트워크의 서브넷에 해당하는 IP 를 할당 받음

docker_gwbridge 네트워크

  • 스웜 모드에서 생성된 네트워크
  • 오버레이 네트워크를 사용하지 않는 컨테이너는 기본적으로 존재하는 브리지 네트워크를 사용해 외부와 연결
  • 그러나 ingress 를 포함한 모든 오버레이 네트워크는 다른 브리지 네트워크인 docker_gwbrige 네트워크와 함께 사용
  • 외부로 나가는 통신 및 오버레이 네트워크의 트래픽 종단점(VTEP) 역할을 담당

사용자 정의 오버레이 네트워크

  • 사용자 정의 오버레이 네트워크 생성
docker network create --subnet 10.0.9.0/24 -d overlay myoverlay

  • SCOPE=swarm 이어서 스웜모드에서만 사용 가능
    • --attachable 옵션을 추가하여 오버레이 네트워크 생성하면
      docker run --net 명령어로 해당 네트워크 사용 가능 (Docker Swarm + Jenkins + DooD 를 사용한다면 본 사항이 쓸모있을수도 있을듯)

Reference

profile
매일매일 성장하고 싶은 백엔드 개발자입니다.

0개의 댓글