27

当我运行kubeadm init它时,它会显示一个令牌,我应该使用它从其他主机连接到该主机。该令牌存储在哪里?我试图通过在 Terraform 中添加 kubeadm 来找出更多自动化方法。

谢谢你的帮助!

4

7 回答 7

51

可以在此处找到 Kubernetes 1.9.x(及更高版本)的说明。

我使用的命令是:

kubeadm token generate
kubeadm token create <generated-token> --print-join-command --ttl=0
于 2018-02-08T17:13:44.380 回答
25

在主节点运行此命令以获取令牌

kubeadm token list
于 2017-06-05T12:10:36.393 回答
8

--token

默认情况下,kubeadm init 会自动生成用于初始化每个新节点的令牌。如果您想手动指定此令牌,可以使用 --token 标志。令牌的格式必须为“<6 个字符串>.<16 个字符串>”。

您可以使用以下命令在主节点上查看令牌值:

cat /etc/kubernetes/pki/tokens.csv
于 2016-10-13T04:33:18.477 回答
4
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
于 2017-03-07T20:24:38.660 回答
3

避免创建新令牌的最佳方法是 -

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

您将获得 JOIN 命令以在任何物理/虚拟机器上运行以加入 kubernetes 集群....

于 2019-03-13T14:21:42.577 回答
2

尝试按照以下命令创建新令牌,因为初始令牌仅 24 小时有效。

kubeadm token create  --ttl=0

这里 ttl=0 意味着,生成的令牌永远不会过期。

然后按照以下命令加入节点:

kubeadm join <generated_token>

如果您在验证 ca 哈希时遇到任何错误,请按照以下方式加入:

kubeadm join <generated_token> --discovery-token-unsafe-skip-ca-verification
于 2018-12-03T02:53:38.030 回答
-2

使用此命令:$ sudo kubeadm token list

不过,如果您没有得到,请使用以下命令

$ sudo kubeadm reset
$ sudo kubeadm init 
于 2019-09-26T16:00:31.990 回答