IT/CKA

[CKA독학] 트러블 슈팅 - Network troubleshooting

반응형

Network troubleshooting

쿠버네티스의 네트트워크 이슈는 Network Plugin 이슈와 Kube Proxy이슈가 있을 수 있습니다.
오늘은 이 두가지 이슈를 어떻게 해결하는지 살펴 보도록 하겠습니다.

Network Plugin 이슈

대표적인 Network Plugin 종류

  1. Weave Net
  2. Flannel
  3. Calico

Network Plugin설치 확인

  1. 네임스페이스 kube-system에 network plugin관련 pod가 동작하고 있는지 확인
kubectl get pod -n kube-system
  1. 동작하고 있지 않다면 해당 URL을 참고하여 Network plugin 설치

https://kubernetes.io/docs/concepts/cluster-administration/addons/

  • weave net plugin install
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

kube-proxy 이슈

kube-proxy pod 생성이 안되고 있는 경우

  1. 모든 리소스 확인
kubectl get all -A
  1. 이상 발견 : kube proxy pod가 생성이되지 않고 있음
  • kube proxy pod 이벤트 확인
kubectl describe pod <kube-proxy-pod> -n kube-system
  1. 에러 메시지 확인
  • /var/lib/kube-proxy/configuration.conf 경로를 찾지 못하고 있음
  • kube proxy는 데몬셋에 의해 실행됨
  • kube proxy 데몬셋에 설정되어있는 config 파일경로는 configmap의 kube-proxy에 설정된 경로와 동일해야함
failed complete: open /var/lib/kube-proxy/configuration.conf: no such file or directory
  1. configmap의 kube-proxy 확인
kubernetes describe cm -n kube-system kube-proxy
  1. 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

kubeconfig 설정 이슈 점검하기

kubectl cluster-info --kubeconfig=/root/test.kubeconfig
반응형