docker 설치 (모든 node 공통)

sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

 

master node portainer 설치

sudo docker volume create portainer_data

sudo docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

 

master node 에서 swarm init 하기

sudo docker swarm init

나오는 코드를 모든 node에 복불하여 실행 (현재 실행된 master node 는 제외)


추후 추가시엔 master node 에서
sudo docker swarm join-token [worker|manager]

 

master node 에서 모든 node 에 portainer agent 배포하기

curl -L https://downloads.portainer.io/agent-stack.yml -o agent-stack.yml && docker stack deploy --compose-file=agent-stack.yml portainer-agent

 

master node로 승격 (3개 이상)

다수의 노드를 운영시 node manager 는 최소한 3개 정도 두는걸로 하자(총 3개의 노드중 2개가 마스터 일시 한대가 다운될시 전체 노드를 관리 할수 없었음)

master node 로 이동하여 

sudo docker node ls

sudo docker node promote {승격할노드명}