ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • K8S Network Failure Trouble shooting
    Trouble Shooting 2021. 7. 18. 16:51

     

    1. CNI 플러그인 Error

     

    배포해놓은 애플리케이션이 동작하지 않아서 endpoint를 먼저 확인 

     

     

    엔드포인트 확인 결과, 애플리케이션 단에서는 문제가 없는 듯 하다. 

     

    네트워크 문제인가 싶어 전체 포드를 확인해보니 cni 플러그인이 없다.

     

     

    weave plugin 설치

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

     

    애플리케이션 동작 확인 결과 잘 된다. 

     

     

     

     

    2. kubeproxy 에러

     

    다음과 같이 kube-proxy pod에서 에러가 발생했다. 

     

     

    kubeproxy로그를 확인해봤더니

     

     

    컨테이너 내부에서 /var/lib/kube-proxy/configuration.conf 경로가 어떤 문제가 있는 듯 하다. 

     

    좀 더 자세한 정보를 얻고자 kube-proxy pod를  describe 해보자. 

     

    컨테이너 내부에서 다음과 같은 커맨드가 실행되고

     

     

    다음 정보를 통해 /var/lib/kube-proxy는 kube-proxy라는 configmap을 통해서 마운트된 볼륨이라는 것을 알 수 있다.  

     

     

    kube-proxy configmap에서 어떤 경로에 대한 정보를 갖고 있는지 확인해보자.

     

     

     

    kube-proxy 포드에 마운트시  

    /var/lib/kube-proxy/configuration.conf가 아니라 

     /var/lib/kube-proxy/config.conf임을 알 수 있다. 

     

    확인했으니 kubeproxy daemonset을 edit후,  configuration.conf에서 config.conf로 수정한다. 

     

    edit후 다음과 같이 kube-proxy가 정상적으로 동작하는 것을 알 수 있다. 

     

     

     

     

     

    3. kube-dns Error

     

    이번에는 kube-system 네임 스페이스의 모든 포드들이 정상적으로 동작하지만, 

    endpoint 확인 결과, kube-dns service의  endpoint에는 아무것도  selecting되지 않았다. 

     

     

    selector가 문제인지 확인하기 위해 coredns의 label과 kube-dns  service의 selector가 같은지 확인한다.

     

     

     

    kube-dns의 selector 확인 결과  coredns의 label과 다르다. 

     

    올바른 label을 selecting 해주기 위해 kube-dns service를 edit한다. 

     

     

    Edit해준 후, 정상적으로 kube-dns의 endpoint에 coredns 포드가 걸리는 것을 볼 수 있다. 

    반응형

    댓글

Designed by Tistory.