Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

끄적끄적

도커 스웜 시작하기 본문

클라우드

도커 스웜 시작하기

yenacathy97 2020. 7. 31. 13:56

나는 연구실의 서버를 사용하여 실습을 진행하였다.

마스터와 슬레이브3개를 매니저와 워크 노드로 사용하였다. 실습은 

https://m.blog.naver.com/PostView.nhn?blogId=pjt3591oo&logNo=221350824375&proxyReferer=https:%2F%2Fwww.google.com%2F 

이 블로그 글을 따라서 작성하였다.

 

1. 오케스트레이션

먼저 마스터 노드에서 docker swarm init 명령어를 통해 매니저 노드로 지정하고 token키를 생성하였다.

 

그뒤 생성된 토큰 값으로 슬레이브 노드들을 참가할 수 있도록 하였다.

스웜 네트워크에 참가

docker node ls을 통해 참가한 노드를 확인한다.

참가한 노드들 확인

이제 스웜 네트워크들의 구조 설정이 되었다.

 

2. 서비스 배포

서비스 생성, 배포는 마스터 노드에서 진행해야한다,

서비스 생성

whoami라는 이미지를 통해 내부포트 4567과 외부포트 4567을 통해 서비스를 생성한다.

 

scale 

생성된 서비스를 scale명령어를 하게되면 해당 이미지를 통해 컨테이너를 생성하게 된다.

 

생성된 컨테이너 확인

각 노드들에 배포된 것을 확인할 수 있다.

 

slave1에서의 서비스 확인

slave1에 접속하여 확인해보아도 컨테이너가 생성된 모습을 알 수 있다.

 

원하는 노드에 배포하고 싶으면 마스터에서 명령어를 통해 컨테이너를 생성할 수 있다.

slave3에 서비스 배포
slave3에서 컨테이너 확인

다음은 스택을 통한 서비스 배포이다. docker-compose.yaml파일을 이용하여 배포할 수 있다.

 

docer-compose.yaml

네트워크에서 오버레이를 한다는 것은 배포된 서비스 별로 네트워크 그룹을 묶어준다는 것이고, replicas는 해당 이미지 기반으로 인스턴스를 1개 만들고 제약조건을 통해 slave3에 배포하겠다는 의미이다.

 

스택을 통한  배포

docker stack deploy -c docker-compose.yaml ts에서 ts는 생성한 스택이름이다.

따라서 서비스 이미지를 nginx로 지정해두었기에 컨테이너이름은 ts_nginx로 생성되게된다.

 

3. 모니터링

https://github.com/stefanprodan/swarmprom 을 깃 클론 한뒤 

swarmprom을 통한 서비스 생성

위 순으로 명령어를 입력하여 서비스를 생성하면

 

생성된 컨테이너들

서비스들이 생성되고

이를 마스터 노드ip:3000포트로 접속하면 Granfana 로그인창이 나온다. Id:admin Pw: admin으로 접속하면 스웜으로 형성된 네트워크를 모니터링할 수 있다. 

 

 

로그인 화면
스웜 네트워크 모니터링

 

 

'클라우드' 카테고리의 다른 글

쿠버네티스의 볼륨 -2  (0) 2020.08.12
쿠버네티스의볼륨 - 1  (0) 2020.08.10
컨테이너 생성하기  (0) 2020.07.17
컨테이너  (0) 2020.07.09
서버 가상화의 분류  (0) 2020.07.03
Comments