반응형
—replica 옵션을 추가하고 Nginx 웹 서버 이미지를 이용해 서비스를 외부에 노출 시켜본다.
docker service create --name myweb \\
--replicas 2 \\
-p 80:80 \\
nginx
레플리카 컨테이너를 정의하고 이름을 설정하고 컨테이너 80번 포트를 각 노드의 80번 포트로 연결하는 서비스를 생성한다.
docker service ps myweb
생성된 컨테이너를 확인해 보면 스웜 클러스터 내의 노드 중 하나를 선택해 80번 포트로 접근, Nginx 웹 서버가 구동되는 것을 확인할 수 있다.
docker service scale myweb=4
명령어를 통해 레플리카셋의 수를 늘이거나 줄일 수 있다.
docker service ps myweb
컨테이너 목록을 다시 확이해 본다.
같은 노드에 컨테이너가 할당 된 것을 확인할 수 있지만 문제가 전혀 되지 않는다. 왜냐하면 각 노드의 80번 포트로 들어온 요청을 여러 컨테이너 중 1개로 redirect하기 때문이다. 결국 각 호스트의 어느 노드로 접근하던 4개의 컨테이너 중 1개에 접근하게 된다.
📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.
반응형
'DevOps > Docker' 카테고리의 다른 글
[Docker] : 스웜 모드의 서비스 장애 복구하기 (0) | 2022.03.04 |
---|---|
[Docker] : global 서비스 생성하기 (0) | 2022.03.04 |
[Docker] : 서비스 생성하기 (0) | 2022.03.04 |
[Docker] : 스웜 모드 서비스 개념 (0) | 2022.03.04 |
[Docker] : 도커 스웜 모드의 구조 (0) | 2022.03.03 |
댓글