Docker Swarm으로 용기를 공개합니다.

2703 단어 Dockerorchestration
Docker Swarm에서 용기의 공개 전시를 시험했을 때의 메모다.
여러 Docker 환경이 필요합니다.

Docker Swarm 소개


Docker를 지원하는 로컬 클러스터 도구입니다.Docker Swarm은 표준 Docker API 작업을 통해 수행할 수 있습니다.따라서 Docker 호스트 그룹을 수집하여 가상 Docker 호스트로 처리할 수 있습니다.
참고 자료
http://docs.docker.jp/swarm/overview.html

Docker Swarm을 사용하여 클러스터 만들기

//node1
$ docker swarm init --advertise-addr eth0
Swarm initialized: current node (4qmd5zm5h002y8ww8lwz5g07v) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-31gbv0gje7royyy3x9i09iyd2h00hwtx8a21vlq23x2fxrje5n-48j2paz9czuz9fl2u4coo9euy 192.168.65.3:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

모든 노드를 집단에 합치다


상기 명령을 통해 출력된 swarm 문장을 복사합니다. (빨간 상자 부분)

각 node 실행
//node2
$docker swarm join --token SWMTKN-1-31gbv0gje7royyy3x9i09iyd2h00hwtx8a21vlq23x2fxrje5n-48j2paz9czuz9fl2u4coo9euy 192.168.65.3:2377
This node joined a swarm as a worker.

//node3
$docker swarm join --token SWMTKN-1-31gbv0gje7royyy3x9i09iyd2h00hwtx8a21vlq23x2fxrje5n-48j2paz9czuz9fl2u4coo9euy 192.168.65.3:2377
This node joined a swarm as a worker.

//node1でクラスタが組まれているか確認 
docker nodes ls
$ docker node ls
ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
811 *   node1               Ready               Active              Leader              19.03.0-beta2
z08     node2               Ready               Active                                  19.03.0-beta2
0xj     node3               Ready               Active                                  19.03.0-beta2

노드 1에서 컨테이너 시작

//Nginxを起動
$docker service create nginx nginx

//起動確認
$docker service ls
ID                  NAME                MODE                REPLICAS            IMAGE               PORTS
v80vj        nginx              replicated          5/5                 nginx:1.12          *:80->80/tcp

NGx 배율 조정

//クラスタ内に5つレプリカを作成する
$docker service update --replicas=5 --detach=true nginx

//起動の確認 1
$docker service ps nginx
    :

//起動の確認 2
$watch -n 1 docker service ps nginx

→nginx 배율 조정.swarm도 경로를 제어하고 있습니다.
※ curl 방문을 통해 응답하는 노드가 변경되는지 확인할 수 있습니다.

감상


AWS의 자동 입찰과 같다.근데 스웩은 포트 80만 대응하는 것 같아요.
K8S부터.

좋은 웹페이지 즐겨찾기