cod*_*ent 6 virtualbox kubernetes kubectl 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?
Run Code Online (Sandbox Code Playgroud)
如何确保在重新启动 VM 后它始终处于启动状态?
更新:
重新启动 VM 后,我必须执行以下操作才能启动主节点:
sudo swapoff -a
sudo systemctl restart kubelet.service
Run Code Online (Sandbox Code Playgroud)
为什么?如何修复它以便它无需输入即可启动?
问题是,如果我停止机器并重新启动它,主节点似乎已关闭
由于 kubeadm 安装在重新启动之前正常工作,因此在重新启动后似乎缺少 Env var。尝试在此之前运行kubectl get nodes:
export KUBECONFIG=/etc/kubernetes/admin.conf
Run Code Online (Sandbox Code Playgroud)
如果它正常启动,那么您需要确保KUBECONFIG在重新启动时正确配置环境变量,将其添加到.bashrc或类似...
为什么?如何修复它以便它无需输入即可启动?
啊,交换文件在逗你。默认情况下,如果启用了交换,kubelet 将不会启动。您有两个选择:
/etc/fstab文件中注释交换行使其永久化。#在创建交换挂载点的行之前添加,下次重新启动时将没有它。允许 kubelet 在启用交换的情况下运行:我知道,文档不推荐,但如果您喜欢危险的生活,您可以在/etc/systemd/system/kubelet.service.d/10-kubeadm.conf以下行中添加/编辑:
Environment="KUBELET_EXTRA_ARGS=--fail-swap-on=false"
Run Code Online (Sandbox Code Playgroud)
下次重新启动时,您将能够在启用交换的情况下运行 kubelet。
| 归档时间: |
|
| 查看次数: |
7201 次 |
| 最近记录: |