Kubeadm: `kubeadm init --token-ttl 0` (drapeau) et `tokenTTL: "0"` (config) sont cassés depuis la 1.8.0

Créé le 26 oct. 2017  ·  4Commentaires  ·  Source: kubernetes/kubeadm

S'agit-il d'un rapport de bogue ou d'une demande de fonctionnalité ?

RAPPORT DE BUG (copié du @rhuss déposé ici https://github.com/kubernetes/kubernetes/issues/5363)

Versions

1.8.0 - jusqu'au maître actuel (2017-10-26)

Que s'est-il passé?

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

A quoi vous attendiez-vous ?

Je m'attendrais à ce que le jeton n'expire pas en fournissant un tokenTTL de 0.

Comment le reproduire (le plus minimalement et le plus précisément possible) ?

Voir https://github.com/kubernetes/kubernetes/issues/53637@rhuss a bien décrit cela.

Autre chose que nous devons savoir ?

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.

kinbug prioritimportant-soon

Commentaire le plus utile

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.

Tous les 4 commentaires

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.

Cette page vous a été utile?
0 / 5 - 0 notes