본문 바로가기
데브옵스 이야기

Kubernetes common errors

by lakescript 2024. 7. 29.

 

 

CrashLoopBackOff

  • 설명: 파드가 반복적으로 충돌하고 재시작합니다.
  • 문제 해결 방법 : 애플리케이션의 시작 및 초기화 코드를 조사합니다.
  • 명령어

 

# 파드 로그 확인
kubectl logs <pod-name>
# Pod 명세 확인
kubectl describe pod <pod-name>

 

ImagePullBackOff

  • 설명: Kubernetes가 레지스트리에서 컨테이너 이미지를 가져올 수 없습니다.
  • 문제 해결 방법:
    • 이미지 이름과 태그를 확인합니다.
    • 이미지 레지스트리 자격 증명을 확인합니다.
    • 지정된 레지스트리에 이미지가 존재하는지 확인합니다.

 

Pending Pods

  • 설명: 파드가 "Pending" 상태에 머물며 스케줄링되지 않습니다.
  • 문제 해결 방법:
    • 노드 자원 (CPU, 메모리)을 확인하여 충분한 용량이 있는지 확인합니다.
    • 노드 셀렉터 또는 어피니티를 사용하는 경우 노드가 올바르게 라벨링되어 있는지 확인합니다.
    • 스케줄링을 방해할 수 있는 노드에 태인트가 없는지 확인합니다.
  • 명령어
# node 명세 확인
kubectl describe node <node-name>

 

 

Node Not Ready

  • 설명: 하나 이상의 노드가 "NotReady" 상태에 있습니다.
  • 문제 해결 방법
    • 영향을 받는 노드의 kubelet 로그를 검토합니다.
    • 노드가 네트워크 연결을 가지고 있는지 확인합니다.
  • 명령어
# node 명세 확인
kubectl describe node <node-name>

 

Service Not Working

  • 설명: 서비스가 접근할 수 없거나 트래픽을 올바르게 라우팅하지 않습니다.
  • 문제 해결 방법
    • 네트워크 정책 및 방화벽 규칙을 확인합니다.
    • 서비스를 지원하는 파드가 정상적으로 실행 중인지 확인합니다.
  • 명령어
# 서비스 및 엔드포인트 확인
kubectl get svc
kubectl get endpoints

 

 

Insufficient Resources

  • 설명: 자원 부족으로 파드를 스케줄링할 수 없습니다.
  • 문제 해결 방법:
    • 파드 resource에서 request 및 limit을 검토합니다.
    • 노드를 추가하여 클러스터를 확장합니다.
  • 명령어
# Pod 명세 확인
kubectl describe pod <pod-name>


...
	Limits:
      cpu:     250m
      memory:  500Mi
    Requests:
      cpu:      150m
      memory:   300Mi
...

 

PersistentVolume Claims Pending

  • 설명: PVC가 "Pending" 상태에 머물러 있습니다.
  • 문제 해결 방법:
    • PVC 사양에 맞는 사용 가능한 PV가 있는지 확인합니다.
    • 스토리지 클래스가 존재하고 올바르게 구성되어 있는지 확인합니다.
    • 기본 스토리지 백엔드가 정상적인지 확인합니다.

 

Pod Stuck Terminating

  • 설명: 파드가 "Terminating" 상태에서 멈춥니다.
  • 문제 해결 방법:
    • 파드 삭제를 방해할 수 있는 finalizers가 있는지 확인합니다.
    • 종료 후크 또는 장시간 실행되는 프로세스의 로그를 검토합니다.
  • 명령어
# 필요한 경우 강제 삭제
kubectl delete pod <pod-name> --force --grace-period=0.

 

DNS Resolution Issues

  • 설명: 클러스터 내에서 DNS 조회가 실패합니다.
  • 문제 해결 방법:
    • 네트워크 정책 및 방화벽 규칙이 DNS 트래픽을 차단하지 않는지 확인합니다.
  • 명령어
# DNS 파드 로그 확인 (예: CoreDNS)
kubectl logs <coredns-pod>
# DNS 서비스가 실행 중인지 확인
kubectl get svc -n kube-system

 

 

 

Reference

https://www.linkedin.com/posts/fadhel-smiti-110197242_kubernetes-common-errors-1-crashloopbackoff-activity-7217825726790602752-hf-E?utm_source=share&utm_medium=member_desktop

 

LinkedIn Fadhel Smiti 페이지: Kubernetes common errors: 1. **CrashLoopBackOff**: - **Description**:… | 댓글 92

Kubernetes common errors: 1. **CrashLoopBackOff**: - **Description**: A pod repeatedly crashes and restarts. - **Troubleshooting**: - Check pod… | 댓글 92

www.linkedin.com

 

728x90