IT/CKA

[CKA독학] 트러블 슈팅 - Application Failure

반응형

Application Failure

Pod 상태가 running으로 이상이 없지만 Application이 잘동작하지 않는 경우는 아래와 같이 구분할 수 있습니다.

case

  • Service 이슈
    • port 설정 이슈 (port/targetport/nodeport)
    • selector 설정 이슈
  • Pod/Deployment 이슈
    • pod/Deployment의 컨테이너 환경변수 이슈

Service 설정 이슈

svc 의 port또는 targetport가 잘못 설정 되어있는 경우

  1. 모든 리소스 확인
kubectl get all -n <namespace>
  1. pod가 이상없이 잘 동작하고 있다면,서비스의 설정 확인 (port/targetport)
kubectl describe svc <svc_name> -n <namespace>
  1. 이상 발견 : 서비스의 (port/tagetport) 정보를 알맞게 수정
kubectl edit svc <svc_name> -n <namespace>

svc 의 selector 가 잘못 설정 되어있는 경우

  1. 모든 리소스 확인
kubectl get all -n <namespace>
  1. pod가 이상없이 잘 동작하고 있다면,서비스의 설정 확인 (selector)
kubectl describe svc <svc_name> -n <namespace>
  1. pod의 label과 비교
kubectl get pod -n <namespace> --show-labels
  1. 이상 발견 : 서비스의(label) 정보를 알맞게 수정
kubectl edit svc <svc_name> -n <namespace>

pod/deployment설정 이슈

pod env의 host설정과 svc명이 다른 경우

  1. 모든 리소스 확인
kubectl get all -n <namespace>
  1. pod가 이상없이 잘 동작하고 있다면,서비스 설정확인 (port/targetport/labels)
kubectl describe svc <svc_name> -n <namespace>
kubectl get pod -n <namespace> --show-labels
  1. 이상 발견 못함 : pod의 container 설정의 env의 설정과 svc명이 정확한지 확인
kubectl describe pod <pod_name> -n <namespace>
  1. 이상 발견 : pod의 container 설정의 env의 설정 대로 svc 명 수정
kubectl edit svc <svc_name> -n <namespace>
반응형