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 {승격할노드명}