RAPPORT DE BUG (copié du @rhuss déposé ici https://github.com/kubernetes/kubernetes/issues/5363)
1.8.0 - jusqu'au maître actuel (2017-10-26)
Lors de l'utilisation de kubeadm avec un jeton généré par kubeadm token généré à l'avance, mais également en laissant kubeadm créer le token, une configuration tokenTTL
est ignorée. La même chose est vraie lorsque vous n'utilisez pas de fichier de configuration mais que vous utilisez kubeadm init --token-ttl 0
Je m'attendrais à ce que le jeton n'expire pas en fournissant un tokenTTL de 0.
Voir https://github.com/kubernetes/kubernetes/issues/53637 où @rhuss a bien décrit cela.
Ce bogue a été introduit dans https://github.com/kubernetes/kubernetes/pull/48783 lorsque le jeton TTL par défaut a été modifié.
Le mécanisme de mise en défaut des machines de l'API ne permet pas de différencier une valeur non définie d'une valeur explicitement définie sur zéro.
J'ai effectué des tests manuels sur ce changement, mais apparemment uniquement pour kubeadm token create --ttl 0
, ce qui fonctionne bien car il n'utilise pas le mécanisme de mise en valeur par défaut de MasterConfiguration.
cc @kubernetes/sig-cluster-lifecycle-bugs
/type bug
Ma solution de contournement actuelle consiste à créer moi-même un jeton supplémentaire _after_ kubeadm init
:
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"
Le dernier jeton est ensuite utilisé pour kubeadm join
sur les nœuds.
Merci @mattmoyer pour la correction du bug :clap:! Approuvé
Ceci est corrigé dans master
et devrait être dans la v1.8.3.
Commentaire le plus utile
Ma solution de contournement actuelle consiste à créer moi-même un jeton supplémentaire _after_
kubeadm init
:Le dernier jeton est ensuite utilisé pour
kubeadm join
sur les nœuds.