Unlocking Kubernetes Performance with no CPU Resource Limits
Medium
Kubernetes에서 컨테이너가 사용할 리소스를 할당하기 위해 resources 필드를 이용해서 CPU와 메모리를 지정할 수 있습니다. 이때 CPU와 메모리에는 requests와 limits 필드가 있어서 이를 어떻게 설정하냐에 따라 Kubernetes에서 동작 등이 달라지기 때문에 이 필드의 목적 등을 이해하는 것은 중요합니다.
작년에 저도 글을 썼지만 Kubernetes 운영을 하면서 CPU에서는 limits를 지정하지 않는게 좋다고 생각하는 편입니다. 더 정확히 말하자면 limits를 지정하면 훨씬 안정적이긴 하지만 리소스 낭비가 너무 심해서 효율적으로 쓰고자 하면 CPU limits를 지정하지 않는게 좋다고 생각하고 있습니다.
이 글에서도 비슷한 내용을 얘기하고 있습니다. 일단 requests와 limits의 동작부터 설명하는데 requests는 컨테이너(정확히는 Pod)을 노드에 스케쥴링하기 위해서 사용합니다. 예를 들어 2 CPU 코어를 필요하다면 클러스터내의 노드에서 2코어의 여유 공간이 있는 노드를 찾아서 거기에 할당을 합니다. limits는 할당된 뒤에 해당 CPU 이상을 쓰지 않도록 제어하는데 이 이상 쓰려고 하면 CPU를 스로틀링하게 됩니다.
이는 시끄러운 이웃 문제를 해결하기 위해 자연스러운 기능으로 보이지만 실제로는 보장받은 CPU도 제대로 사용할 수 없기 때문에 꽤 높은 CPU limits를 지정해야 합니다. 원글에서는 그림과 함께 설명해 주고 있어서 requests와 limists의 동작방식을 이해하기 좋습니다.
https://medium.com/nordnet-tech/unlocking-kubernetes-performance-with-no-cpu-resource-limits-56d5dc33037b
다음 내용이 궁금하다면?
이미 회원이신가요?
2024년 2월 28일 오전 1:26
혹시 Claude 나 cursor 등 AI 로 개발하실 때
뭔가 AI 스러운 뻔한 디자인 때문에
이젠 Claude 모델이 그렇게 압도적으로 좋은 건 아닌데, Claude Code는 진짜 분명하게 좋음. 아마도 프롬프트가 잘 되어 있어서 그런 것 같음. Claude의 다른 프롬프트들은 공개해뒀는데 Claude Code용 프롬프트는 공개를 안해줌. 역시 아무리 투명하게 공개한다고 해도 진짜 좋은 건 다 기업비밀임..
앞으로의 코테는 설명을 주고 코드를 짜라고 하는 것이 아니라, 코드를 주고 설명을 하라는 것이 유효할 것이다.
내 경우는 이미 그렇게 하고 있는데, 요구사항을 주고 개발을 요청. 결과물이 요구사항대로 개발이 잘 되었다면, 다음 단계로 제출한 코드를 리뷰하며 설명을 요청한다.