Quand je lance kubeadm init
, il affiche un jeton que je devrais utiliser à partir des autres hôtes pour se connecter à cet hôte. Où ce jeton est-il stocké? J'essaie de trouver plus de moyens d'automatiser cela en ajoutant kubeadm à l'intérieur de Terraform.
Merci pour toute aide!
--jeton
Par défaut, kubeadm init génère automatiquement le jeton utilisé pour initialiser chaque nouveau noeud. Si vous souhaitez spécifier manuellement ceci jeton, vous pouvez utiliser le drapeau --token. Le jeton doit être au format "<Chaîne de 6 caractères>. <Chaîne de 16 caractères>".
vous pouvez voir la valeur du jeton sur le nœud maître à l'aide de la commande:
cat /etc/kubernetes/pki/tokens.csv
L'instruction pour Kubernetes 1.9.x (et ci-dessus) peut être trouvée ici .
Les commandes que j'ai utilisées sont:
kubeadm token generate
kubeadm token create <generated-token> --print-join-command --ttl=0
Exécutez cette commande dans le nœud maître pour obtenir le jeton.
kubeadm token list
kubectl -n kube-system get secret clusterinfo -o yaml | grep token-map | awk '{print $2}' | base64 -d | sed "s|{||g;s|}||g;s|:|.|g;s/\"//g;" | xargs echo
Essayez de créer une nouvelle commande selon les instructions ci-dessous, car le jeton initial n’est valide que pendant 24 heures.
Création de jeton $ kubeadm --ttl = 0
Rejoignez ensuite le noeud selon la commande ci-dessous . $ Kubeadm join
Si vous rencontrez une erreur lors de la vérification de la valeur de hachage, joignez-vous comme indiqué ci-dessous . $ Kubeadm rejoindre
Ici ttl = 0 signifie que le jeton généré n'expirera jamais.