Kubernetes: kube-dns - kann keinen kurzen DNS-Eintrag verwenden

Erstellt am 29. Juni 2016  ·  1Kommentar  ·  Quelle: kubernetes/kubernetes

Wir sind auf ein Problem gestoßen, bei dem zwei Dienste ausgeführt werden. auth-api und Kaninchen-mq. Aus dem auth-ui-Pod versuchen wir, ihn dazu zu bringen, den Rabbit-mq-Pod zu finden, damit er aus den Warteschlangen lesen kann.

Wenn wir einen kurzen DNS-Namen verwenden: rabbitmq-master , erhalte ich die folgende Fehlermeldung;

kubectl exec auth-api-jf2ec -i nslookup rabbitmq-master
nslookup: can't resolve '(null)': Name does not resolve

nslookup: can't resolve 'rabbitmq-master': Try again
error: error executing remote command: Error executing command in container: Error executing in Docker Container: 1

Wenn ich den vollständigen DNS-Namen verwende: rabbitmq-master.default.svc.cluster.local , funktioniert es OK:

kubectl exec auth-api-jf2ec -i nslookup rabbitmq-master.default.svc.cluster.local

Name:      rabbitmq-master.default.svc.cluster.local
Address 1: 10.0.61.158 ip-10-0-61-158.eu-west-1.compute.internal
nslookup: can't resolve '(null)': Name does not resolve

Wir könnten also einfach das vollständige DNS verwenden, aber das würde dann bedeuten, dass wir unsere Bereitstellungsskripts für jeden Kundennamensraum ändern müssen, den wir verwenden möchten.

Ich habe unseren Cluster überprüft und der kube-dns-Pod ist in Betrieb.

$ k get --all-namespaces pods
NAMESPACE     NAME                                                              READY     STATUS    RESTARTS   AGE
default       auth-api-jf2ec                                                    1/1       Running   0          15h
default       rabbitmq-master-6yu3o                                             1/1       Running   0          15h
kube-system   elasticsearch-logging-v1-o24ye                                    1/1       Running   0          6d
kube-system   elasticsearch-logging-v1-vlvw0                                    1/1       Running   1          6d
kube-system   fluentd-elasticsearch-ip-172-0-0-32.eu-west-1.compute.internal   1/1       Running   1          6d
kube-system   fluentd-elasticsearch-ip-172-0-0-33.eu-west-1.compute.internal   1/1       Running   0          6d
kube-system   fluentd-elasticsearch-ip-172-0-0-34.eu-west-1.compute.internal   1/1       Running   0          6d
kube-system   heapster-v1.0.2-2148290995-zl3wq                                  4/4       Running   0          6d
kube-system   kibana-logging-v1-e3ci3                                           1/1       Running   3          6d
kube-system   kube-dns-v11-ju72c                                                4/4       Running   0          6d
kube-system   kube-proxy-ip-172-0-0-32.eu-west-1.compute.internal              1/1       Running   1          6d
kube-system   kube-proxy-ip-172-0-0-33.eu-west-1.compute.internal              1/1       Running   0          6d
kube-system   kube-proxy-ip-172-0-0-34.eu-west-1.compute.internal              1/1       Running   0          6d
kube-system   kubernetes-dashboard-v1.0.1-tbyn2                                 1/1       Running   1          6d
kube-system   monitoring-influxdb-grafana-v3-gm426                              2/2       Running   0          6d

Dies ist die Ausgabe der Datei /etc/resolv.conf im auth-api-Pod:

$ kubectl exec auth-api-jf2ec -i cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local cluster.local eu-west-1.compute.internal
nameserver 10.0.0.10
options nods:5

Habe ich etwas falsch konfiguriert / gar nichts konfiguriert?

Hilfreichster Kommentar

Es gab eine wichtige Information, die ich bei diesem Problem übersehen habe ... wir haben alpine:3.3 als Basis-Image verwendet und das unterstützt die search Direktive in der /etc/resolv.conf .

Nach dem Upgrade auf alpine:3.4 das Problem behoben.

Hoffentlich nützt das jemandem.

>Alle Kommentare

Es gab eine wichtige Information, die ich bei diesem Problem übersehen habe ... wir haben alpine:3.3 als Basis-Image verwendet und das unterstützt die search Direktive in der /etc/resolv.conf .

Nach dem Upgrade auf alpine:3.4 das Problem behoben.

Hoffentlich nützt das jemandem.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen