【发布时间】:2020-08-04 17:04:34
【问题描述】:
您好,我在远程服务器上遇到 kubeadm 连接问题。
我想创建一个多服务器、多节点的 Kubernetes 集群。 我创建了一个 vagrantfile 来创建一个主节点和 N 个工作人员。 它适用于单个服务器。
主虚拟机是一个桥接虚拟机,以便网络上其他可用的虚拟机可以访问它。
我选择 Calico 作为网络提供商。
对于主节点,这就是我所做的: 使用 ansible :
初始化 Kubeadm。
安装网络提供商。
创建连接命令。
对于工作节点:
- 我执行join命令加入正在运行的master。
我在一台硬件服务器上成功创建了集群。 我正在尝试在同一 LAN 上的另一台服务器上创建常规工作节点,我成功 ping 到主节点。
使用生成的命令加入主节点。
kubeadm join 192.168.2.50:6443 --token ecqb8f.jffj0hzau45b4ro2
--ignore-preflight-errors all
--discovery-token-ca-cert-hash
sha256:94a0144fe419cfb0cb70b868cd43pbd7a7bf45432b3e586713b995b111bf134b
但它显示了这个错误:
error execution phase preflight: couldn't validate the identity of the API Server:
could not find a JWS signature in the cluster-info ConfigMap for token ID "ecqb8f"
我在问是否有任何特定的网络配置可以加入远程主节点。
【问题讨论】:
-
您能否运行
kubeadm token list并检查ecqb8f.jffj0hzau45b4ro2是否存在于列表中? -
在主节点上,kubeadm 令牌列表为空。在工作节点上 ''no such file '' /home/.kube/config'''' 。我应该手动创建令牌?
-
是的。在 master 上运行
kubeadm token create并在 join 命令中使用它。或运行kubeadm token create --print-join-command并使用命令。 -
谢谢你,它正在工作
-
好的。我将其发布为答案:)
标签: kubernetes kubeadm