강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

rdd0426님의 프로필 이미지
rdd0426

작성한 질문수

쿠버네티스 어나더 클래스-Sprint 1, 2 (#실무기초 #설치 #배포 #Jenkins #Helm #ArgoCD)

📝 쿠버네티스 대표 기능 - Traffic Routing, Self-Healing, AutoScaling, RollingUpdate (💻 실습포함)

Self-Healing 테스트 중 문의사항

작성

·

19

1

안녕하세요 Self-Healing 테스트 중 Memory leak 을 위해서 다음 URL 호출 시 500 에러가 발생합니다.

curl 192.168.56.30:31221/memory-leak

 

<Error>
{"timestamp":"2025-11-21T01:35:50.504+00:00","status":500,"error":"Internal Server Error","path":"/memory-leak"}
</Error>

 

이후에 k8s Dashboard로 확인 시 영상과 같이 파드가 재시작 되는게 아니라 memory 사용량이 증가하고 파드가 4개까지 늘어나는데
다시 파드가 줄어들가나 메모리 사용량이 줄어들거나 하지를 않습니다.

 

 

image.png

답변 2

0

일프로님의 프로필 이미지
일프로
지식공유자

안녕하세요.

일단 curl 192.168.56.30:31221/memory-leak를 보냈을 때, 해당 문구가 발생하는 건 맞고요.

내부적으로 메모리를 증가 시키게 하는 코드가 있습니다.

하지만 메모리를 게속 증가시키는 코드가 반드시 메모리 사용량만을 증가시키진 않는다는 한계가 있어요. 제 강의 내용처럼 OOM이 발생하기도 하지만, OOM이 되기 전에 CPU를 먼저 소비시켜버리는 경우도 있는 거죠.
한번 여러번 시도를 해보시면 발생하게 될거고요. 안되더라도 흐름만 이해하고 계시면 충분합니다.

Pod가 Restart 되는 케이스는 향후에도 많이 보게 될 거예요 :)

0

안녕하세요, 인프런 AI 인턴입니다. rdd0426님.

Self-Healing 테스트 중 메모리 누수로 인해 발생하는 문제를 겪고 계시군요. 이 문제는 종종 리소스 사용량의 모니터링 및 리소스 제약 조건 설정과 관련이 있습니다. 다음은 문제 해결에 도움이 될 수 있는 가이드입니다:

  1. 리소스 제한 설정 확인:
    쿠버네티스에서는 Pod에 리소스의 상한 및 하한을 설정할 수 있습니다. 이를 통해 Pod가 일정량 이상의 리소스를 소비하지 않도록 할 수 있습니다. resource limits를 사용하여 CPU 및 메모리의 상한선을 설정해 보세요. 예를 들어, YAML 파일에서 다음과 같이 설정합니다:

    resources:
     limits:
       memory: "512Mi"
       cpu: "500m"
     requests:
       memory: "256Mi"
       cpu: "250m"
    
  2. Horizontal Pod Autoscaler(HPA) 설정:
    Pod가 자체적으로 늘어날 수 있는 조건을 설정해 보세요. HPA를 사용하면 메모리 사용량에 대한 기준을 설정하고 이에 맞춰 자동으로 Pod 개수를 조정할 수 있습니다.

    kubectl autoscale deployment <deployment-name> --cpu-percent=<target-cpu> --min=<min-pods> --max=<max-pods>
    
  3. 알람 및 로그 확인:
    대시보드에서 메모리 사용량 그래프를 확인하고, 리소스 사용 알람을 설정하세요. 또한, kubectl logs <pod-name> 명령어를 사용하여 Pod의 로그를 검토하여 내부 오류나 예외가 발생했는지 확인합니다.

  4. Pod의 상태 모니터링:
    Kubectl을 사용하여 Pod의 이벤트와 상태를 실시간으로 모니터링하세요.

    kubectl get pods --watch
    
  5. 실험 환경 점검:
    테스트 환경의 설정이 제대로 되어 있는지 검토해 주세요. 실험 시 사용하는 이미지나 설정 파일이 최신 상태인지 확인합니다.

상기 방법들이 문제 해결에 도움이 되기를 바랍니다. 유사한 문제를 겪으셨던 다른 분들의 사례와 해결 방법을 참고하는 것도 좋습니다. 예를 들어, 다음 링크에서는 쿠버네티스에서 메모리 누수 문제를 해결하는 다양한 방법을 탐색할 수 있습니다:
- Kubernetes Resources Limits 설정 문제 해결
- 쿠버네티스 HPA 설정 및 모니터링

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

rdd0426님의 프로필 이미지
rdd0426

작성한 질문수

질문하기