您好,我在远程服务器上遇到 kubeadm join 问题。
我想创建一个多服务器、多节点的 Kubernetes 集群。我创建了一个 vagrantfile 来创建一个主节点和 N 个工人。它适用于单个服务器。
主虚拟机是一个桥接虚拟机,以便网络上的其他可用虚拟机可以访问它。
我选择 Calico 作为网络提供商。
对于主节点,这就是我所做的:使用 ansible :
初始化 Kubeadm。
安装网络提供商。
创建连接命令。
对于 Worker 节点:
我在一台硬件服务器上成功创建了集群。我正在尝试在同一 LAN 上的另一台服务器上创建常规工作节点,我成功 ping 到主节点。
使用生成的命令加入主节点。
kubeadm join 192.168.2.50:6443 --token ecqb8f.jffj0hzau45b4ro2
--ignore-preflight-errors all
--discovery-token-ca-cert-hash
sha256:94a0144fe419cfb0cb70b868cd43pbd7a7bf45432b3e586713b995b111bf134b
Run Code Online (Sandbox Code Playgroud)
但它显示了这个错误:
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"
Run Code Online (Sandbox Code Playgroud)
我在问是否有任何特定的网络配置可以加入远程主节点。
我正在致力于建立一个多节点、多硬件服务器 Kubernetes 集群。我正在使用 Calico 和 Kubeadm。
\n\n单服务器版本在 Windows 上运行,在主机之间使用专用网络。
\n\n我面临一个网络问题,我正在尝试修复该问题以跨外部网络 (LAN) 连接节点。
\n\n因此,我尝试在虚拟机(节点)内使用桥接适配器\xe2\x80\x98a nic virtualization\xe2\x80\x99,以允许使用混杂模式和静态IP地址通过网络看到远程服务器。我正在使用 Vagrant。
\n\n但我无法通过网络(LAN)创建静态公共IP,也许我没有\xe2\x80\x99t有权限这样做。
\n\n故障排除:
\n\n首先,我\xe2\x80\x99尝试创建一个随机IP公共地址,它\xe2\x80\x99s工作。但是,当我尝试将工作节点加入到主节点时,使用 kubeadm 失败了,\xe2\x80\x9c连接拒绝\xe2\x80\x9d。Kubeadm join 命令仅适用于专用网络,\n我读到\xe2\x80\x99s 额外的 Kubernetes 配置需要编辑以允许外部访问,但我不知道该怎么做。我尝试使用:\nkubeadm join <public-ip>:6443 --token wby3bb.vomsgxxxxxxb --discovery-token-ca-cert-hash sha256:xxxxx\n但生成的文件 /etc/kubernetes/bootstrapkubelet.conf 和 /etc/kubernetes/kubelet.conf 仍在使用其中的 :6443。\n我还尝试更新 --advertise-address。
其中一个想法是创建一个网关,将特定端口的流量从第一个网络接口转发到第二个网络接口,我在主机上使用 Ubuntu/xenial。
我问是否有人可以帮助我。
\n\n谢谢。
\n我正在建立一个多节点、多硬件服务器 Kubernetes 集群。我正在使用 Calico 和 Kubeadm。
我使用带有 ansible 和 virtualbox 的 vagrant 在许多硬件服务器上设置节点。它正在工作,节点使用 kubeadm 通过 join-command 加入主节点。主节点正在识别远程节点。
vagrant@Server-1-MASTER:~$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 3h37m v1.18.2
server-1-worker-1 Ready <none> 3h23m v1.18.2
server-2-worker-1 Ready <none> 171m v1.18.2
server-2-worker-2 Ready <none> 41m v1.18.2
Run Code Online (Sandbox Code Playgroud)
我正面临一个配置问题,我正在尝试修复该问题以设置工作节点的规则和访问权限。
问题: 在工作人员上,发生错误
no configuration has been provided, try setting KUBERNETES_MASTER environment variable
Run Code Online (Sandbox Code Playgroud)
使用 kubectl 命令时
vagrant@Server-1-WORKER-1:~$ kubectl get pods
error: no configuration has been provided, try setting KUBERNETES_MASTER
environment variable
Run Code Online (Sandbox Code Playgroud)
vagrant@Server-1-WORKER-1:~$ kubectl get …Run Code Online (Sandbox Code Playgroud)