데브옵스
[튜토리얼] kt cloud가 자원을 최적화하는 방법: 컨테이너 리소스 동적할당 구현기
두줄요약
실행 중인 Docker 컨테이너의 CPU와 메모리를 재시작 없이 조정하는 방법을 다루었습니다. 포트 매핑은 공식 지원이 없어 우회 방법과 주의점도 함께 정리했습니다.
문제 상황
- VM 기반 고정 자원 할당의 과금 비효율
- 실행 중 컨테이너의 CPU·메모리·포트 변경 시 재시작 필요
- 워크로드 변동에 맞춘 탄력적 자원 조정 필요성
원인 분석
- Docker의 리소스 제한이 생성 시점 설정 중심
- 포트 매핑은 런타임 변경 공식 지원 부재
- 메모리 하향 조정 시 OOM 위험 존재
해결 방법
- docker update로 CPU·메모리 한도 즉시 조정
- cgroups 기반 리소스 제어로 커널 레벨 반영
- 포트는 재실행, docker commit, 설정 파일 직접 수정으로 우회
주의할 점
- 메모리 한도 축소 전 현재 사용량 확인 필요
- 설정 파일 직접 수정 방식은 버전·구조 차이로 오류 가능성 존재
- 운영 환경 적용 전 충분한 테스트 필요
