2017-03-15 4 views
2

문제 해결 방법을 잘 모르겠지만 하루 종일 고층 및 저층을 검색했습니다.KubeDNS가 작동하도록하는 이슈

KubeDNS 포드를 사용할 수 없습니다. 베어 메탈에 설치된 Fedora 25에 배포하고 있습니다. 현재 kubelet이 마스터에서 실행되는 클러스터에 하나의 상자 만 있습니다. 나는 kubelet 또는 다른 Kubernetes 서비스를 컨테이너에서 실행하지 않습니다.

kubernetes.default 서비스 (nslookup kubernetes.default.svc.cluster.local 127.0.0.1nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053)의 kubedns 컨테이너에서 DNS 조회를 실행하려고하면 실패합니다.

내가 결국 다음과 같은 메시지가 KUBE-apiserver 로그에 발견 한 것은, 시간이 많다는 내가 조회를하려고 노력했습니다 줄 지어 :

kube-apiserver[20876]: E0315 01:09:16.134237 20876 proxy.go:193] Error proxying data from client to backend: write tcp 192.168.1.203:33074->192.168.1.203:10250: write: broken pipe

서비스 및 replicationcontroller 내가 사용하고있는 설정은 https://coreos.com/kubernetes/docs/latest/deploy-addons.html#deploy-the-dns-add-on이고, 내 환경에 맞게 clusterIP 설정이 변경되었습니다.

어디에서 문제를 해결해야할지 모르겠다. 따라서 도움을 주시면 감사하겠습니다. 유용하게 사용되는 configs를 게시 하겠지만, configs가 무엇인지 추측하기에는 쓸모가 없다고 생각했습니다.

+0

  • --client-CA 파일? 모든 창에 연결할 수 있습니까? – jaxxstorm

  • +0

    저는 네트워킹을 위해 플란넬을 사용하고 있습니다. 필자는이 가이드를 통해 https://kubernetes.io/docs/getting-started-guides/fedora/fedora_manual_config/ - 내 자신의 명명 규칙을 조정하고 마스터와 노드를 같은 상자. ping으로 검사 한 다른 pod에 연결할 수 없습니다. –

    +0

    문제의 ** ** ** 일 후에 내 유일한 아이디어는 다음 로그 메시지에서 유래합니다 : kube-apiserver [27115] : I0315 18 : 40 : 06.628204 27115 logs.go : 41] http : TLS 핸드 셰이크 오류가 발생했습니다. 172.16.40.7:47094 : 원격 오류 : tls : 잘못된 인증서 ' kube-dns는 kube-apiserver로 인증 할 수 없습니다. 그러나 kube-dns에 token, secret 또는 kube-apiserver에 인증 할 수있는 다른 것을 제공하는 방법에 대해서는 ** 아무 문서도 찾을 수 없습니다 **. –

    답변

    0

    나는 시행 착오로 이것을 고치게되었다.

    Fedora의 베어 메탈 노드 설정 가이드를 따라 가면서 문제는 kube-apiserver 용으로 구성된 TLS가 없다는 것입니다.

    이 옵션은 모든 (나는 사람이 누락 된 기억하지 않는, 꽤 오래 전에 그것을 해결하는 데)가 필요했다 :

    • --service-계정 키 파일
    • 을 - TLS-CERT 파일
    • --tls - 개인 키 파일 포드 네트워킹 사용중인 무엇