개발/DevOps

Docker Swarm 환경에서 자원 할당을 해보자.

leedonggeun 2023. 1. 29. 14:56

docker compose file의 deploy 영역 밑에 resources 라는 영역을 이용하여 설정할 수 있습니다.

reservations 최소로 보장하는 자원
limits 최대 사용 가능한 자원

cpu의 경우, cpus라는 예약어를 통해 사용 가능한 비율을 설정 할 수 있습니다.
아래 예제로 보면, 25%를 최소로 보장하며 최대 50%까지 사용 가능하도록 설정한 예제입니다.

메모리는 아래와 같이 단위를 사용하여 명시할 수 있습니다. (b, k, m, g 등)

services:
  temp_image:
    image: ~~~~
    volumes: ~~~
    deploy:
      resources:
        reservations:
          cpus: "0.25"
          memory: 1024M
        limits:
          cpus: "0.5"
          memory: 2048M

이를 통해 각 컨테이너 간의 자원을 침범하지 않고 적절하게 자원을 분배할 수 있습니다.