반응형

docker swarm 초기화

docker swarm init

docker swarm 설정 해제

docker swarm leave --force

docker swarm 클러스터 합류하기

docker swarm 초기화시 로그로 출력된 토큰 정보를 아래에 작성

docker swarm join --token <TOKEN> <MANAGER-IP>

docker swarm node 목록 조회

docker node ls

service 생성하기

docker service create --replicas 3 -p 8080:80 --name web nginx

service 종료하기

docker service rm {service_name}

service 목록 조회하기

docker service ls

service 서비스 확인하기

docker service ps {service_name}

service 상세 정보 확인하기

docker service inspect {service_name}

service 로그 출력하기

docker service logs -f {service_name}

docker-compose 파일로 service 실행하기

docker-compose.yml

version: "3.8"
services:
  nginx:
    image: nginx:1.17.9
    environment:
      TZ: "Asia/Seoul"
    ports:
      - "8080:80"
    deploy:
      replicas: 3

실행하기

docker stack deploy -c docker-compose.yml demo_web

Rolling Update

Rolling Update 스펙 적용하여 서비스 생성하기

  • --update-delay : 각 태스크가 업데이트되는 시간 간격
  • --update-parallelism : 한 번에 업데이트 시킬 태스크의 수. 0이면 모든 태스크 동시 업데이트 (default: 1)
  • --update-failure-action : 업데이트 실패시 대처 방안 설정
    • pause : 업데이트 작업 중단(default)
    • continue : 실패한 태스크는 넘어가고 나머지 업데이트 작업 진행
    • rollback : 업데이트 작업 중단 후 이전 버전으로 롤백
docker service create --name redis \
  --replicas 5 \
  --update-delay 20s \
  --update-parallelism 2 \
  --update-failure-action rollback \
  --rollback-delay 10s \
  --rollback-parallelism 1 \
  --rollback-failure-action pause \
  redis:7.0.3

Rolling Update 스펙 확인하기

$ docker service inspect redis
  ...
  "UpdateConfig": {
      "Parallelism": 2,
      "Delay": 20000000000,
      "FailureAction": "rollback",
      "Monitor": 5000000000,
      "MaxFailureRatio": 0,
      "Order": "stop-first"
  },
  "RollbackConfig": {
      "Parallelism": 1,
      "Delay": 10000000000,
      "FailureAction": "pause",
      "Monitor": 5000000000,
      "MaxFailureRatio": 0,
      "Order": "stop-first"
  },
  ...

Rolling Update 진행하기

redis:7.0.3 -> redis:7.0.4로 버전업

docker service update --image redis:7.0.4 redis

Rollback 진행하기

redis:7.0.4 -> redis:7.0.3로 롤백

docker service update --rollback redis

참고

반응형

+ Recent posts