반응형
복제 모드로 설정된 서비스 컨테이너가 정지하거나 특정 노드가 다운되면 스웜 매니저는 새로운 컨테이너를 생성해 자동으로 복구한다.
docker ps
docker rm -f myweb.1.d383jl79pix2b9kcrqukzpwoj
컨테이너를 조회하고 NAMES를 입력해 삭제해 본다. 지금 적어둔 것은 책에서 제공하는 예시이다.
docker service ps myweb
docker service ps 명령어를 통해 새로운 컨테이너가 생성된 것을 확인할 수 있다.
특정 노드가 다운됐을 때 역시 위와 같은 방식으로 작동한다.
service docker stop
테스트를 위해 노드 하나의 도커 데몬 프로세스를 종료해 고장난 상태로 만들어 본다.
docker node ls
명령어를 통해 노드의 STATUS가 Down으로 바뀌었는지 확인한다.
docker service ps
다시 컨테이너 목록을 보면 구동 중인 컨테이너가 종료 되었고 이것을 복구하기 위해 컨테이너가 swarm-manager 노드에 생성된 것을 확인할 수 있다.
docker service ps myweb
다움되었던 노드를 재시작해 정상이 되어도 장애를 복구하기 위해다른 노드로 옮겨진 컨테이너가 해당 노드에 자동으로 할당 되지는 않는다. 즉, 재균형 작업이 일어나지 않는다.
docker service scale myweb=1
docker service scale myweb=4
새로운 노드를 추가하거나 다운되었던 노드를 복구했을 때 서비스의 컨테이너 할당의 균형을 맞추기 위해 scale 명령어를 통해 컨테이너 수를 줄이고 다시 늘려줘야 한다.
📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.
반응형
'DevOps > Docker' 카테고리의 다른 글
[Docker] : 서비스 컨테이너에 설정 정보 전달하기 : config, secret (0) | 2022.03.04 |
---|---|
[Docker] : 서비스 롤링 업데이트 (0) | 2022.03.04 |
[Docker] : global 서비스 생성하기 (0) | 2022.03.04 |
[Docker] : nginx 웹 서버 서비스 생성하기 (0) | 2022.03.04 |
[Docker] : 서비스 생성하기 (0) | 2022.03.04 |
댓글