2015-09-24 32 views
1
 
[email protected] ~ $ kubectl exec -it busybox -- nslookup kubernetes 
Server: 10.100.0.10 
Address 1: 10.100.0.10 

nslookup: can't resolve 'kubernetes' 
[email protected] ~ $ kubectl get svc --namespace=kube-system 
NAME  LABELS                   SELECTOR   IP(S)   PORT(S) 
kube-dns k8s-app=kube-dns,kubernetes.io/cluster-service=true,kubernetes.io/name=KubeDNS k8s-app=kube-dns 10.100.0.10  53/UDP 
                                   53/TCP 
kube-ui k8s-app=kube-ui,kubernetes.io/cluster-service=true,kubernetes.io/name=KubeUI  k8s-app=kube-ui 10.100.110.236 80/TCP 
[email protected] ~ $ kubectl exec -it busybox -- nslookup kubernetes 10.100.0.10:53 
Server: 10.100.0.10 
Address 1: 10.100.0.10 

nslookup: can't resolve 'kubernetes' 
[email protected] ~ $ kubectl get endpoints --namespace=kube-system 
NAME  ENDPOINTS 
kube-dns 10.244.31.16:53,10.244.31.16:53 
kube-ui 10.244.3.2:8080 
[email protected] ~ $ kubectl exec -it busybox -- nslookup kubernetes 10.244.31.16:53 
Server: 10.244.31.16 
Address 1: 10.244.31.16 

Name:  kubernetes 
Address 1: 10.100.0.1 

Я думаю, что служба kube-dns не доступна.не удается разрешить «kubernetes» от skydns Serivce в Kubernetes

skydns-svc.yaml:

 
apiVersion: v1 
kind: Service 
metadata: 
    name: kube-dns 
    namespace: kube-system 
    labels: 
    k8s-app: kube-dns 
    kubernetes.io/cluster-service: "true" 
    kubernetes.io/name: "KubeDNS" 
spec: 
    selector: 
    k8s-app: kube-dns 
    clusterIP: 10.100.0.10 
    ports: 
    - name: dns 
    port: 53 
    protocol: UDP 
    - name: dns-tcp 
    port: 53 
    protocol: TCP 

Кто может помочь?

ответ

4

Для работы DNS на kubelet необходимо передать флажкам --cluster_dns = и --cluster_domain = cluster.local при запуске. Этот флаг не включен в the set of flags passed to the kubelet, поэтому кубе не будет пытаться связаться с модулем DNS, который вы создали для служб разрешения имен. Чтобы исправить это, вы можете изменить сценарий, чтобы добавить эти два флага в kubelet, а затем, когда вы создаете DNS-службу, вам нужно убедиться, что вы установили тот же ip-адрес, который вы передали в флаг -cluster_dns, в качестве параметра portalIP поле обслуживания, например, this. Для получения любой другой информации вы можете посмотреть it.

+0

Спасибо! Я нахожу проблему в skydns-rc.yaml. – sope

+0

Если ответ вам поможет, примите/отпустите ответ, щелкнув зеленую отметку левой стороны. @sope –

Смежные вопросы