0부터 시작하는 Docker Swarm 공부 - 가용성 AVAILABILITY

Jaehong Lee·2022년 8월 25일
0
post-thumbnail

1. 가용성 - AVAILABILITY

  • node ls 하면 AVAILABILITY 를 확인 가능하다. 이는 가용성을 의미한다
    • Active : 노드가 컨테이너를 동작시키고, 생성할 수 있는 준비가 된 상태
    • drain : 컨테이너를 해당 노드에 배치시키지 않는다. 해당 노드에서 동작중인 모든 컨테이너는 중지
    • pause : 컨테이너를 해당 노드에 배치시키지 않는다. 컨테이너가 일시 중지된다

2. 가용성 조정하기 - drain

docker service create --name test1 --replicas 3 --constraint node.role==worker -p 8001:80 nginx

  • Service 를 배포하자
  • 현재, 각 Node 에 컨테이너가 1 개씩 동작한다
docker node update --availability drain worker3

  • worker3 의 AVAILABILITY 를 drain 으로 변경하였다. worker3 는 drain 상태이므로 컨테이너가 중지되고, worker2 에 하나 더 신규 생성되어 Service 를 실행중이다
  • worker3 가 drain 상태인 것을 확인하자

3. 가용성과 Scale 조정

  • Scale 을 늘려서 컨테이너를 늘렸다. 이 컨테이너들은 drain 상태인 worker3 에는 배치되지 않는다
  • worker3 를 다시 Active 상태로 전환하자
  • Active 상태로 전환되었다고, 컨테이너 배치가 재조정 되는 것은 아니다
  • Scale 을 1 로 줄였다가 다시 3 으로 늘리면, worker3 에도 컨테이너가 배치된다
profile
멋진 엔지니어가 될 때까지

0개의 댓글