如何为辅助控制平面节点生成 kubeadm 令牌

Tha*_*nos 1 token kubernetes kubectl

当我们启动主主节点时,该节点会使用 ttl 为工作节点和主节点创建令牌。

根据文档kubeadm token(我也测试过并且它有效),我们可以发出命令并获取新令牌(默认为 ttl 24h):

kubeadm token create --print-join-command
Run Code Online (Sandbox Code Playgroud)

我想弄清楚是否要添加新的平面节点(辅助主节点),如何创建相关令牌?

我尝试传递一些标志,例如:

kubeadm token create --print-join-command --control-plane
Run Code Online (Sandbox Code Playgroud)

但它失败了(当然),因为这个标志不被识别。

我还通过文档发现,我们可以通过配置文件的直接链接来实现,例如 ref kubeadm-join/file 或基于 https 的发现

kubeadm join --discovery-file path/to/file.conf # (local file)
kubeadm join --discovery-file https://url/file.conf # (remote HTTPS URL)
Run Code Online (Sandbox Code Playgroud)

就我而言,我没有本地 conf 文件或计划使用 url 链接。

有没有其他方法可以使用平面节点而不是工作节点的命令来创建新令牌?

Ft0*_*msh 10

以下将为您的附加控制器创建加入命令。

echo $(kubeadm token create --print-join-command) --control-plane --certificate-key $(kubeadm init phase upload-certs --upload-certs | grep -vw -e certificate -e Namespace)
Run Code Online (Sandbox Code Playgroud)


Sas*_*kov 5

你需要在 master 上运行

kubeadm init phase upload-certs --upload-certs
Run Code Online (Sandbox Code Playgroud)

记住输出。

然后你需要在master上运行

kubeadm token create --print-join-command
Run Code Online (Sandbox Code Playgroud)

然后从此输出中为 joinning-master-node 编写加入命令并添加到其中 --control-plane --certificate-key xxxx

看这个视频来举例说明:https : //www.youtube.com/watch?v= 27v36t-3afQ 最有趣的是从 20:40 开始。由于版本较旧,视频中有一些“实验性”字样。