본문 바로가기
DevOps/Docker

[Docker] : 노드 AVAILABILITY변경하기

by 오주현 2022. 3. 7.
반응형

노드 AVAILABILITY변경하기

docker node ls

구축한 스웜 클러스터의 노드를 확인한다.

모든 노드의 STATUS 항목이 Ready, AVAILABILITY항목이 Active인 것을 알 수 있다.

Active

Active 상태는 새로운 노드가 스웜 클러스터에 추가되면 기본적으로 설정되는 상태로서, 노드가 서비스의 컨테이너를 할당받을 수 있음을 의미한다.

docker node update \\
--availability active \\
swarm-worker1

Active 상태가 아닌 노드를 Acitve 상태로 변경한다.

Drain

스웜 매니저의 스케줄러는 컨테이너를 해당 노드에 할당하지 않는다. 보통 매니저 노드에 설정하는 상태지만 노드에 문제가 생겨 일시적으로 사용하지 않는 상태로 설정해야 할 때 자주 사용한다.

docker node update \\
--availability drain \\
swarm-worker1

노드를 Drain 상태로 변경한다. 이렇게 노드를 변경하면 해당 노드에서 실행 중이던 서비스의 컨테이너는 전부 중지되고 Active 상태의 노드로 다시 할당된다. docker service scale 명령어를 통해 컨테이너 균형을 조정해 줘야 한다.

Pause

서비스의 컨테이너를 더는 할당받지 않는다.(Drain과 비슷) 하지만 실행 중인 컨테이너가 중지되지 않는 다는 점에서 다르다.

docker node update \\
--availability pause \\
swarm-worker1

노드 상태를 Pause로 변경한다.

 

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글