使用 kubeadm 重新启动安装了 kubernetes master 的 VM 后,与服务器 10.0.x.x:6443 的连接被拒绝
The connection to the server 10.0.x.x:6443 was refused after restarting the VM where kubernetes master was installed using kubeadm
我在 VM (VirtualBox) 上使用 kubeadm 成功安装了 Kubernetes master。问题是,如果我停止机器并重新启动它,主节点似乎已关闭:
kubectl get nodes
The connection to the server 10.0.x.x:6443 was refused - did you specify the right host or port?
如何确保它在重启 VM 后始终启动?
更新:
重启 VM 后,我必须执行以下操作才能启动主节点:
sudo swapoff -a
sudo systemctl restart kubelet.service
为什么?我该如何修复它,以便它无需输入即可启动?
The problem is that if I stop the machine and restart it the master node seems to be down
由于是 kubeadm 安装在重启前正常工作,重启后似乎 Env var 丢失了。在 kubectl get nodes
:
之前尝试 运行
export KUBECONFIG=/etc/kubernetes/admin.conf
如果它正常启动,那么你需要确保 KUBECONFIG
环境变量在重新启动时正确配置,或者将其添加到 .bashrc
或类似...
已编辑:
Why? How can I fix it so that it starts without having to input that?
啊,交换文件逗你了。默认情况下,如果启用交换,kubelet 将不会启动。您有两个选择:
- 删除交换:这很简单,只需像您已经列出的那样禁用它,但通过在
/etc/fstab
文件中注释交换行使其永久化。在 creating swap mount point 之前添加 #
,下次重新启动时将不会有它。
Allow kubelet to 运行 with swap enabled:我知道,文档不推荐,但如果你喜欢危险的生活,你可以add/edit 在 /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
以下行:
Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false"
下次重新启动后,您将能够 运行 kubelet 启用交换。
我通过清除 HDD 上的一些 space 解决了我的问题。 space 似乎很低。然后,我重新启动了服务器,它解决了我的问题。
我遇到了类似的问题,其中 kubectl
命令在我的主节点中运行,但在从属节点中执行的命令却给我这个错误:
The connection to the server 10.0.x.x:6443 was refused - did you specify the right host or port?
对我有用的解决方案如下:
我把Master的$KUBECONFIG
文件复制到slave节点的.kube/
位置成功了(我只有2个节点,一主一从)
你只需要杀死kubelet服务并重新启动。 pods 并且容器将 运行 以及重启之前。
pkill kubelet
和
systemctl restart kubelet
祝你好运
我在 VM (VirtualBox) 上使用 kubeadm 成功安装了 Kubernetes master。问题是,如果我停止机器并重新启动它,主节点似乎已关闭:
kubectl get nodes
The connection to the server 10.0.x.x:6443 was refused - did you specify the right host or port?
如何确保它在重启 VM 后始终启动?
更新:
重启 VM 后,我必须执行以下操作才能启动主节点:
sudo swapoff -a
sudo systemctl restart kubelet.service
为什么?我该如何修复它,以便它无需输入即可启动?
The problem is that if I stop the machine and restart it the master node seems to be down
由于是 kubeadm 安装在重启前正常工作,重启后似乎 Env var 丢失了。在
之前尝试 运行kubectl get nodes
:export KUBECONFIG=/etc/kubernetes/admin.conf
如果它正常启动,那么你需要确保
KUBECONFIG
环境变量在重新启动时正确配置,或者将其添加到.bashrc
或类似...
已编辑:
Why? How can I fix it so that it starts without having to input that?
啊,交换文件逗你了。默认情况下,如果启用交换,kubelet 将不会启动。您有两个选择:
- 删除交换:这很简单,只需像您已经列出的那样禁用它,但通过在
/etc/fstab
文件中注释交换行使其永久化。在 creating swap mount point 之前添加#
,下次重新启动时将不会有它。 Allow kubelet to 运行 with swap enabled:我知道,文档不推荐,但如果你喜欢危险的生活,你可以add/edit 在
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf
以下行:Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false"
下次重新启动后,您将能够 运行 kubelet 启用交换。
- 删除交换:这很简单,只需像您已经列出的那样禁用它,但通过在
我通过清除 HDD 上的一些 space 解决了我的问题。 space 似乎很低。然后,我重新启动了服务器,它解决了我的问题。
我遇到了类似的问题,其中 kubectl
命令在我的主节点中运行,但在从属节点中执行的命令却给我这个错误:
The connection to the server 10.0.x.x:6443 was refused - did you specify the right host or port?
对我有用的解决方案如下:
我把Master的$KUBECONFIG
文件复制到slave节点的.kube/
位置成功了(我只有2个节点,一主一从)
你只需要杀死kubelet服务并重新启动。 pods 并且容器将 运行 以及重启之前。
pkill kubelet
和
systemctl restart kubelet
祝你好运