Forum: PC Hard- und Software Kubernetes: Probleme nach DNS Server Wechsel


von DNS (Gast)


Lesenswert?

Ich betreibe ein kleines Kubenernetes Cluster bestehend aus 3 Raspberry 
Pi nodes. Gestern habe ich die IP Adresse meines internen DNS Servers 
geändert von der Fritzbox auf ein Pihole das auf einem weiteren Pi 
läuft. Dazu habe ich auf allen drei Pis die /etc/resolv.conf angepasst 
und die neue IP reingeschrieben. Meine Pis können auch weiter DNS 
auflösen und kommen ins Internet. In den Pods funktioniert die DNS 
Auflösung aber seitdem zunächst nicht mehr. Es hilft nur noch den 
jeweiligen Namespace zu löschen und anschließend neu zu erstellen. 
Danach geht es wieder kläglich.
Jetzt ist mir auch aufgefallen dass die CPU Last sehr hoch ist. Ein 
Prozess mit dem Namen codedns drängt sich ständig nach oben. Der Login 
per SSH auf den Pis dauert momentnant zwischen 10 und 15 Sekunden. Was 
kann ich tun um die Last wieder runterzukriegen? Ich habe alle Pis schon 
mehrfach neu gestartet. Auch Gleichzeitig.

von Peter Bumsen (Gast)


Lesenswert?


von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

DNS schrieb:
> Ein
> Prozess mit dem Namen codedns drängt sich ständig nach oben.

Du meinst wahrscheinlich coredns, nicht codedns. CoreDNS ist seit 
einigen Versionen der Standard-DNS Server von k8s. Aus 
Kompatibilitätsgründen verwendet man in k8s zum Teil noch den Namen des 
Vorgängers kube-dns für einige Resourcen.

CoreDNS wird über eine Datei namens Corefile konfiguriert (sehr dumme 
Namenswahl für eine Datei im Linux-Umfeld ...). Bei k8s steht die in 
einer Configmap im Namespace kube-system mit dem Name coredns.

Warum erzähle ich das? Weil dort normalerweise die Verbindung zu der von 
dir geänderten resolve.conf deklariert ist. Für alles was nicht 
innerhalb des Clusters aufgelöst werden kann ist dort normalerweise 
deklariert, dass die Informationen aus der resolve.conf des Hostsystems 
zum Forwarding des Requests verwendet werden soll. Daher würde ich dort 
nachsehen ob die richtige resolve.conf drin steht. Ebenso kannst du dort 
mehr Logging für CoreDNS einschalten.

Es gibt einen relativ brauchbaren Artikel von k8s um allgemein das DNS 
im Cluster zu debuggen. 
https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/ 
Den würde ich mit auch mal ansehen und durch gehen. resolve.conf steht 
da auch drin, mehrfach. Nämlich zum einen in den Pods selber, die von 
k8s so konfiguriert werden dass die k8s's internes DNS verwenden, und 
eben die Configmap für nach Außen.

: Bearbeitet durch User
von Nils (Gast)


Lesenswert?

Peter Bumsen schrieb:
> 
https://jrs-s.net/2017/07/01/slow-ssh-logins/#:~:text=The%20most%20common%20cause%20of,restart%20ssh%2C%20etc%20as%20appropriate.

Ganz kalt.

Hannes J. schrieb:
> https://kubernetes.io/docs/tasks/administer-cluster/dns-debugging-resolution/
> Den würde ich mit auch mal ansehen und durch gehen. resolve.conf steht
> da auch drin, mehrfach. Nämlich zum einen in den Pods selber, die von
> k8s so konfiguriert werden dass die k8s's internes DNS verwenden, und
> eben die Configmap für nach Außen.

Danke. Das wars. Musste danach noch die DNS pods einmal neustarten und 
seitdem läuft wieder alles. Die CPU Last ist wieder normal und die 
Anmeldung geht auch wieder schnell.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.