FEHLERBERICHT (kopiert aus hinterlegt ist https://github.com/kubernetes/kubernetes/issues/5363)
1.8.0 - bis zum aktuellen Master (2017-10-26)
Wenn kubeadm mit einem Token verwendet wird, das von kubeadm tokengeneriert im Voraus generiert wurde, aber auch wenn kubeadm das Token erstellen lässt, wird eine tokenTTL
Konfiguration ignoriert. Das gleiche gilt, wenn keine Konfigurationsdatei verwendet wird, sondern kubeadm init --token-ttl 0
Ich würde erwarten, wenn ein TokenTTL von 0s bereitgestellt wird, dass das Token nicht abläuft.
Siehe https://github.com/kubernetes/kubernetes/issues/53637, wo @rhuss dies schön beschrieben hat.
Dieser Fehler wurde in https://github.com/kubernetes/kubernetes/pull/48783 eingeführt, als die Standard-Token-TTL geändert wurde.
Der Standardmechanismus der API-Maschinerie hat keine Möglichkeit, zwischen einem nicht gesetzten Wert und einem explizit auf Null gesetzten Wert zu unterscheiden.
Ich habe diese Änderung manuell getestet, aber anscheinend nur für kubeadm token create --ttl 0
, was gut funktioniert, weil es nicht den MasterConfiguration-Standardmechanismus verwendet.
cc @kubernetes/sig-cluster-lifecycle-bugs
/ Fehler eingeben
Meine aktuelle Problemumgehung besteht darin, _nach_ kubeadm init
ein zusätzliches Token zu erstellen:
kubeadm init --config /etc/kubernetes/kubeadm.yml
kubeadm token create --ttl 0 --groups system:bootstrappers:kubeadm:default-node-token --description "Bootstrap token which does not expire"
Das spätere Token wird dann für kubeadm join
auf den Knoten verwendet.
Danke @mattmoyer für den Bugfix :clap:! Genehmigt
Dies ist in master
behoben und sollte in v1.8.3 sein.
Hilfreichster Kommentar
Meine aktuelle Problemumgehung besteht darin, _nach_
kubeadm init
ein zusätzliches Token zu erstellen:Das spätere Token wird dann für
kubeadm join
auf den Knoten verwendet.