wake-up-neo.net

Kubeadm-Token kann nach der Initialisierung des Masters nicht gefunden werden

Wenn ich kubeadm init starte, wird ein Token angezeigt, das ich von den anderen Hosts verwenden sollte, um eine Verbindung zu diesem Host herzustellen. Wo wird das Token gespeichert? Ich versuche, mehr Möglichkeiten zu finden, dies zu automatisieren, indem Kubeadm in Terraform hinzugefügt wird. 

Danke für jede Hilfe!

10
vallard

--Zeichen

Standardmäßig generiert kubeadm init automatisch das für .__ verwendete Token. jeden neuen Knoten initialisieren. Wenn Sie dies manuell angeben möchten Token können Sie das Flag --token verwenden. Das Token muss das Format .__ haben. ‘<6 Zeichenfolge>. <16 Zeichenfolge>’.

sie können den Tokenwert auf dem Master-Knoten mit dem folgenden Befehl anzeigen:

cat /etc/kubernetes/pki/tokens.csv
5
pl_rock

Die Anweisungen für Kubernetes 1.9.x (und darüber) finden Sie hier .

Die Befehle, die ich verwendet habe, sind:

kubeadm token generate
kubeadm token create <generated-token> --print-join-command --ttl=0
21
Chris Fregly

Führen Sie diesen Befehl im Master-Knoten aus, um das Token abzurufen

kubeadm token list
14
sfgroups
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
3
feisan

Der beste Weg, um das Erstellen eines neuen Tokens zu vermeiden, ist:

  1. kubeadm token list
  2. kubeadm token create <copied token from previous command output>** --print-join-command

sie erhalten den Befehl JOIN, der auf jedem physischen/virtuellen Computer ausgeführt wird, um dem Kubernetes-Cluster beizutreten.

3
Abhishek Jain

Versuchen Sie, einen neuen Befehl gemäß dem folgenden Befehl zu erstellen, da das ursprüngliche Token nur 24 Stunden gültig ist.

$ kubeadm-Token erstellt --ttl = 0

Hier bedeutet ttl = 0, dass das generierte Token niemals abläuft.

Verbinden Sie dann den Knoten mit dem folgenden Befehl . $ Kubeadm join 

Wenn Sie einen Fehler beim Überprüfen des ca-Hashes erhalten, treten Sie wie folgt in Verbindung .. _. $ Kubeadm join --discovery-token-unsafe-skip-ca-testing

Hier bedeutet ttl = 0, dass das generierte Token niemals abläuft.

0
hk'

Verwenden Sie diesen Befehl: $ Sudo kubeadm token list

Wenn Sie dies jedoch nicht getan haben, verwenden Sie die folgenden Befehle

$ Sudo kubeadm reset
$ Sudo kubeadm init 
0