로딩
요청 처리 중입니다...

185. [Kubernetes] CPU Affinity를 위한 CPU Manager 사용 방법, 구현 원리 Deep Dive

 185. [Kubernetes] CPU Affinity를 위한 CPU Manager 사용 방법, 구현 원리 Deep Dive

이번 포스트에서는 쿠버네티스에서 CPU Affinity를 위한 CPU Manager의 사용 방법 및 세부 구현 Deep Dive를 다룬다. 너무 쉬워서 굳이?

글로 써야하나 생각했는데, 이왕 공부한 겸 정리해보려 한다. TL;DR -> 쿠버네티스에서 포드가 특정 CPU를 배타적으로 쓰게 하려면 CPU Manager를 사용하면 된다. 1.

CPU Affinity vs CPU Share Pool docker run 명령어의 --cpu-shares 옵션을 사용해 본 적이 있다면 알겠지만, cgroup의 CPU Share는 현재 생성되어 있는 컨테이너들이 Share 값의 비율에 따라 호스트의 CPU를 CFS 방식으로 나눠서 사용하는 기능이다. 예를 들어 100개의 CPU가 존재하는 서버에서 A 컨테이너가 512, B 컨테이너가 1024 Share 값을 가진다면 각 컨테이너가 전체 CPU를 1:2 의 비율로 나눠 쓰게 된다.

즉, 각 컨테이너가 33.3개 : 66.6개를 사용할 수 있는 셈이...