<p>kubeadm init weigert sich, verbindungslokale Unicast-IPs als --apiserver-Advertise-Adresse zu verwenden</p>

Erstellt am 23. Nov. 2018  ·  3Kommentare  ·  Quelle: kubernetes/kubeadm

Ist dies ein BUG REPORT oder eine FEATURE REQUEST?

/ Art Bug

Versionen

kubeadm version (benutze kubeadm version ):

v1.12.2

Was ist passiert?

Ich richte ein VM-basiertes Testkabel ein, das kubeadm verwendet, um einen kleinen k8s-Cluster einzurichten. Die VMs sind so konfiguriert, dass sie IPv4-verbindungslokale Adressen einrichten und Multicast-DNS verwenden, um sich gegenseitig zu finden. Aufgrund der Art und Weise, wie die VMs eingerichtet sind, muss ich --apiserver-Advertise-Address überschreiben, damit k8s die LAN-Schnittstelle für die Knotenkommunikation verwenden, da dies nicht die Standardschnittstelle ist.

Leider überprüft kubeadm die übergebene Adresse mit .IsGlobalUnicast() , sodass die verbindungslokale IPv4-Adresse abgelehnt wird, obwohl dies eine gültige Methode zum Einrichten eines kleinen Clusters ist.

Was hast du erwartet?

kubeadm init sollte verbindungslokale IPv4- oder IPv6-Adressen akzeptieren, wenn diese explizit in der Befehlszeile angegeben sind.

Wie kann man es reproduzieren (so minimal und präzise wie möglich)?

kubeadm init --apiserver-advertise-address=169.254.152.255

help wanted kinfeature prioritbacklog sinode

Hilfreichster Kommentar

Das Aktivieren von verbindungslokalen Adressen kann daher in den meisten Anwendungsfällen problematisch sein. Wir haben absichtlich aufgrund einiger anderer Fehlerbedingungen deaktiviert, und dieser Anwendungsfall ist keine Standard-IMO.

Alle 3 Kommentare

/ remove-kind Bug
/ Art Feature
/ sig Knoten
/ Prioritätsstau
/ @kad zuweisen
cc @rosti

@ Danielson
Dies ist beabsichtigt. Unsere Validierung ist nur eine Überprüfung der Integrität, da das Kubelet auch Adressen in der Hostschnittstelle ignoriert, die kein globales Unicast sind:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go#L305 -L308

Loopbacks werden ebenfalls überschrieben:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go#L408

Das Aktivieren von verbindungslokalen Adressen kann daher in den meisten Anwendungsfällen problematisch sein. Wir haben absichtlich aufgrund einiger anderer Fehlerbedingungen deaktiviert, und dieser Anwendungsfall ist keine Standard-IMO.

Angesichts der fehlenden Rechtfertigung und der allgemeinen Übereinstimmung, dass dies für die meisten Benutzer, die wir schließen, problematischer sein kann.

Wenn Ihr Anwendungsfall vereinfacht, verallgemeinert oder einfach gepatcht werden kann, können Sie ihn erneut öffnen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen