当我运行kubeadm init
它时,它会显示一个令牌,我应该使用它从其他主机连接到该主机。该令牌存储在哪里?我试图通过在 Terraform 中添加 kubeadm 来找出更多自动化方法。
谢谢你的帮助!
当我运行kubeadm init
它时,它会显示一个令牌,我应该使用它从其他主机连接到该主机。该令牌存储在哪里?我试图通过在 Terraform 中添加 kubeadm 来找出更多自动化方法。
谢谢你的帮助!
可以在此处找到 Kubernetes 1.9.x(及更高版本)的说明。
我使用的命令是:
kubeadm token generate
kubeadm token create <generated-token> --print-join-command --ttl=0
在主节点运行此命令以获取令牌
kubeadm token list
--token
默认情况下,kubeadm init 会自动生成用于初始化每个新节点的令牌。如果您想手动指定此令牌,可以使用 --token 标志。令牌的格式必须为“<6 个字符串>.<16 个字符串>”。
您可以使用以下命令在主节点上查看令牌值:
cat /etc/kubernetes/pki/tokens.csv
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
避免创建新令牌的最佳方法是 -
kubeadm token list
kubeadm token create <copied token from previous command output>** --print-join-command
您将获得 JOIN 命令以在任何物理/虚拟机器上运行以加入 kubernetes 集群....
尝试按照以下命令创建新令牌,因为初始令牌仅 24 小时有效。
kubeadm token create --ttl=0
这里 ttl=0 意味着,生成的令牌永远不会过期。
然后按照以下命令加入节点:
kubeadm join <generated_token>
如果您在验证 ca 哈希时遇到任何错误,请按照以下方式加入:
kubeadm join <generated_token> --discovery-token-unsafe-skip-ca-verification
使用此命令:$ sudo kubeadm token list
不过,如果您没有得到,请使用以下命令
$ sudo kubeadm reset
$ sudo kubeadm init