0부터 시작하는 Docker Swarm 공부 - Service 상세 정보 & Swarm mode

Jaehong Lee·2022년 8월 24일
0
post-thumbnail

1. Service Inspect

Service 배포

  • Service 를 배포하자

    replicas 3 으로 되어있으므로 해당 Service 는 무슨 일이 있어도 컨테이너 3 개를 유지해야 한다

Service & Container list 확인

  • 잘 생성됬는지 list 를 확인하자

Service 상세 정보 확인 - Ingress

  • Service 상세 정보도 확인하자
  • 컨테이너를 배치할 Node role 을 확인하자
  • Mode 확인
  • Parallelism 은 작업시 몇 개씩 병렬적으로 작업할지 설정하는 것이다
  • Network 도 확인하자. Mode 가 vip 로 되어있다. 이는 가상 Ip 이다

    Endpoint Spec 에서는 일반적으로 vip 를 사용한다. 이때, Mode 를 ingress 로 한다. Ingress mode는 Service 생성시 주소가 vip 인 가상의 스위치를 두고, 외부 사용자는 해당 vip 에 접근하면, vip 에서 각 컨테이너에 접속하게 해준다

    • vip 는 자동으로 생성된다
    • 즉, 외부 사용자는 컨테이너에 직접 접속하는 것이 아닌, vip 를 거쳐서 컨테이너에 접속한다

2. replicas & global

replicas - Container 개수를 유지하게 한다

  • worker 3 에서 동작중인 컨테이너를 삭제하자
  • 허나, manager 에서 다시 확인해보면, 컨테이너가 3 개 실행중인 것을 확인할 수 있다
    • 이는, 무조건 컨테이너를 3 개 유지하게 했으므로, 컨테이너가 Shutdown 되면, 3 개를 유지하기 위해 컨테이너를 자동으로 생성한 것이다

global

docker service create --name web --constraint node.role==worker --mode global -p 80:80 nginx

  • mode global 을 이용하면, 모든 노드에 일괄적으로 컨테이너 1 개씩 작업을 처리한다

3. Docker Swarm & Swarm mode

  • Swarm 은 사실 2 가지 모드가 있다

    • Docker Swarm ( Swarm clasic ) : 컨테이너 정보를 확인하기 위해 Agent 를 거쳐서 Worker 의 Docker Daemon 과 통신한다. 컨테이너와 노드, 클러스터 상태의 정보 관리 같은 경우, zookeeper, etcd 와 같은 별도의 분산 코디네이터에서 해준다
    • Swarm mode : Swarm 이 Worker 의 Docker Daemon 과 직접 통신한다. Swarm mode 는 분산 코디네이터가 자체에 내장되어 있어 컨테이너와 노드, 클러스터 상태의 정보 관리를 직접한다. 따라서 추가 설치 패키지등이 없다

    현재는 Swarm mode 를 사용한다. 용어에 주의하자!! Swarm mode 와 Docker Swarm 은 다르다 !! 일반적으로 Swarm Cluster 는 Swarm mode 를 지칭한다

profile
멋진 엔지니어가 될 때까지

0개의 댓글