도커스터디 Week04

황동근·2023년 2월 17일
0

Docker

목록 보기
4/4

3장. 도커 스웜

3.1 도커 스웜을 사용하는 이유

  • 여러 대 서버를 하나의 자원 풀로 만든 것은 어려움 작업
  • 디스커버리
    • 새로은 서버나 컨테이너가 추가됐을 때 이를 발견
  • 스케줄러와 로드밸런서
    • 특정 서버에 컨테이너 할당
  • 고가용성
    • 클러스터 내 서버 다운
  • 도커 스웜과 스웜 모드
    • 도커에서 공식으로 제공하는 오픈소스

3.2 스웜 클래식과 도커 스웜 모드

도커 스웜

  • 여러 대의 도커 서버를 하나의 클러스터로 만들어 컨테이너를 생성하는 여러 기능 제공
  • 컨테이너를 특정 도커 서버에 할당할 수 있고 유동적으로 서버 확장 가능
  • 스웜 클러스터에 등록된 서버의 컨테이너를 쉽게 관리

스웜 클래식

  • 도커 1.6 이후부터 사용할 수 있는 컨테이너로서의 스웜
  • 여러 대의 도커 서버를 하나의 지점에서 사용하도록 단일 접근점
  • docker run, docker ps 등 일반적인 도커 명령어와 도커 API로 클러스터의 서버을 제어하고 관리
  • 분산 코디네이터, 에이전트 등 별도 실행 필요
  • 도커 공식문서에 레거시로 언급

도커 스웜 모드

  • 도커 1.12 이후부터 사용할 수 있음
  • 마이크로서비스 아키텍처의 컨테이너를 다루기 위한 클러스터링
  • 같은 컨테이너를 동시에 여러 개 생성해 필요에 따라 유동적으로 컨테이너의 수를 조절
  • 컨테이너로의 연결을 분산하는 로드밸런싱 기능을 자체적으로 지원
  • 서비스 확장성과 안정성이 스웜 클래식보다 뛰어남
    • 대규모 클러스터 사용
  • 클러스트링을 위한 모든 도구가 도커 엔진 자체에 내장
    • 쉽게 서버 클러스터 구축 가능
    • 분산 코디네이터
      • 각종 정보를 저장하고 동기화
    • 매니저
      • 클러스터 내의 서버를 관리, 제어
    • 에이전트
      • 각 서버 제어
  • 적어도 3대 이상의 도커 서버 사용해야 제대로 동작

3.3 스웜 모드

도커 스웜 모드의 구조

  • 구성 요소
    • 매니저 노드
      • 워커 노드를 관리하기 위한 도커 서버
      • 컨테이너 생성 가능
      • 워커 노드 역할 포함
      • 1개 이상 존재
    • 워커 노드
      • 실제로 컨테이너가 생성되고 관리되는 도커 서버
      • 없어도 됨
    • 워커 노드와 매니저 노드를 구분해서 사용하는 것을 권장
  • 매니저 노드 다중화
    • 매니저의 부화를 분산
    • 매니저 노드가 다운됐을 때 정상적으로 스웜 클러스터 유지
    • 스웜 클러스터의 성능이 좋아지는 것은 아님
    • 매니저 노드의 절반 이상에 장애 발생 시, 매니저 노드가 복구될 때까지 클러스터 운영 중간
    • 매니저 노드 홀수 개 구성 권장
      • 쿼럼 매니저 운영

도커 스웜 모드 클러스터 구축

스웜 모드 서비스

도커 스웜 모드 노드 다루기

profile
안녕하세요~

0개의 댓글