wonpick
devvon
wonpick
방문자🌱
오늘
어제
  • 분류 전체보기 (146)
    • 개발 (42)
      • Spark (7)
      • Hadoop (3)
      • ML&DL (4)
      • Paper Review (0)
      • ETC (24)
    • STUDY (77)
      • Data Engineering (54)
      • Cloud (4)
      • Algorithm (5)
      • SQL (10)
      • Toy Project (1)
    • Android (2)
    • Backend (14)
    • 인턴 (0)
    • 공모전 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

태그

  • 최신 데이터 인프라 이해하기 #7
  • cka
  • kodekloud
  • 쿠버네티스
  • 인턴강연
  • SQL
  • 최신 데이터 인프라 이해하기
  • 데이터엔지니어링
  • 자연어처리
  • Python

최근 댓글

최근 글

티스토리

Designed By.hELLO
wonpick

devvon

STUDY/Data Engineering

18. CKA udemy 강의 정리 - Section 13 [Troubleshooting]

2023. 1. 31. 00:38

0. Application Failure

서비스명, selector 설정, target port, 환경설정 등등의 이유로 발생 가능하다.

# 유저가 서비스 이용을 할 수 있는지 확인
curl http://web-service-ip:port

# 서비스의 엔드포인트가 할당이 되었는지 확인
kubectl get ep

# 환경설정에 문제가 없는지 확인
kubectl describe po <pod_name>
kubectl logs -f <pod_name> (--previous)

1. Control Plain Failure

# controlplane pod 상태 검사
kubectl get po -n kube-system

# controlplane pod 로그 확인
k get po -n kube-system | grep control
k logs -f <pod_name> -n kube-system

2. Worker Node Failure

워커 노드 상세 조회를 통해 OutOfDisk, MemoryPresure, DiskPresure, PIDPresure 상태 확인 가능하다.

추가적으로 kubelet이나 kubelet manifest 설정이 잘못되어 있을 수도 있으니 확인해야 한다.

# 워커 노드 조회
k get no | grep worker

# 워커노드 상세 조회
k describe no kind-cluster-worker

3. Networking

DNS 이슈

coreDNS 

  •  coredns pod가 pending 상태 -> 네트워크 플러그인 확인
  • coredns pod가 CrashLoopBackOff 또는 에러 상태 -> 설치된 OS와 도커의 버전 및 권한 문제
  • coredns와 관련된 pod가 모두 정상 -> 서비스 엔드포인트, selector, port를 확인

CNI: Network Plugin 이슈

# 네임스페이스 kube-system에 network plugin관련 pod가 동작하고 있는지 확인
kubectl get pod -n kube-system
# 동작하고 있지 않다면 해당 URL을 참고하여 Network plugin 설치
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

Kube Proxy이슈

kubectl get all -A
kubectl describe pod <kube-proxy-pod> -n kube-system
kubernetes describe cm -n kube-system kube-proxy
kubernetes edit daemonset.apps/kube-proxy -n kube-system

# busybox로 nslookup 하기
kubectl run test --image=busybox --rm -it -- nslookup kubernetes  

# busybox로 접속하여 port상태 점검하기
kubectl run test --image=busybox --rm -it -- sh
nc -z -v -w 2 test-service 80

 

 

참고

1. https://espossible.tistory.com/m/22

2. https://kim-dragon.tistory.com/95

'STUDY > Data Engineering' 카테고리의 다른 글

[인프런] 쿠버네티스 (도커와 쿠버네티스 시작하기)  (0) 2023.03.22
19. CKA udemy 강의 정리 - Section 14 [OtherTopics]  (0) 2023.01.31
17. CKA udemy 강의 정리 - Section 10 [Desing and install a Kubernetes Cluster]  (0) 2023.01.28
16. CKA udemy 강의 정리 - Section 9 [Networking]  (0) 2023.01.25
[kodekloud] 04 Commands and Arguments 풀이 (살짝😵‍💫)  (0) 2023.01.24
    wonpick
    wonpick

    티스토리툴바