k8s Unable to connect to the server: EOF 问题解决

原因是K8s 没有启动成功

如下状态方位,启动成功

启动失败的原因多数是镜像下载失败

找到 Docker 的设置页面,在 Docker Engine 页面,将镜像网站的地址加入到右侧配置文件的 registry-mirrors 节点下面,这里我使用的是 Docker 官方和中科大的镜像网站地址,你可以依据自己的喜好选择,调整完成之后重启 Dokcer 即可

{ "registry-mirrors": [ "https://docker.mirrors.ustc.edu.cn",// 中科大 "https://registry.docker-cn.com"// 官方 ], "insecure-registries": [], "debug": false, "experimental": false, "features": { "buildkit": true } }

镜像地址配置完成之后,clone 下 k8s-for-docker-desktop 这个项目,找到 load_images.ps1 这个 powershell 文件,打开后可以看到整个脚本其实是从阿里云拉取了相关的镜像,确保红框中的镜像版本与 Dokcer 内置的 K8s 版本保持一致,然后直接运行

因为使用到了 ps1 脚本文件来执行 powershell 命令,如果是第一次执行 powershell 的脚本文件的话,由于默认的安全策略,这里会提示没有权限执行,我们可以通过执行下面的语句来使脚本正常运行

Set-ExecutionPolicy RemoteSigned 

如果提示如下根据提示输入命令即可

等待命令的执行完成,可以看到我们本地的 Docker 中已经包含了 images.properties 文件中列到的镜像

打开 Docker 的设置页面,找到 Kubernetes 页面,选中 Enable Kubernetes,然后点击 Apply & Restart,这个执行过程有个一两分钟,稍等一会等待 K8s 的启动完成

当左下角出现 K8s 的 logo,并逐步变为绿色,整个 K8s 的环境也就运行起来了,此时我们就可以通过 kubectl 来操作集群,可以看到这里已经可以打印出整个“集群”的信息

启用 Dashboard

集群启动之后,虽然我们可以通过 kubectl 来操作集群,但是如果能够通过可视化页面的方式进行访问,则会更加便捷

在上文 clone 下的 repo 中有个 kubernetes-dashboard.yaml 文件,你可以直接通过 kubectl apply 命令运行,然后启用代理进行访问

 

-- 创建 dashboard 资源 kubectl apply -f kubernetes-dashboard.yaml -- 查看 Deployment 的运行状态 kubectl get deployment -n kuberenetes-dashboard -- 查看 Pod 的运行状态 kubectl get pods -n kuberenetes-dashboard -- 通过代理的方式访问 dashboard kubectl proxy

这里是使用 API Server 的形式访问的 dashboard ,具体的地址为:http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

我们可以使用下面的 powershell 命令打印出 token,然后登录到 dashboard 中查看整个集群的信息

((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]

当然,这里访问 dashboard 的方式不是最优解,后续每一次访问时,都需要执行 kubectl proxy,正常的做法应该是通过 ingress 进行代理访问。由于 K8s 我也是刚刚入门,对于 ingress 的使用没有过多的了解,所以这里留下一个 topic,后续再进行补充

要是启动以后无法加载数据 执行如下命令创建一个namespace

 kubectl create clusterrolebinding gitlab-cluster-admin --clusterrole=cluster-admin --group=system:serviceaccounts --namespace=dev


 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 根据引用\[1\]的信息,出现"Unable to connect to the server: EOF"的错误可能是kubelet没有成功启动导致的。可以尝试重启kubelet来解决这个问题。如果重启kubelet后仍然无法启动,可以查看kubelet的日志,使用命令"journalctl -xefu kubelet"来查看详细的错误信息。根据引用\[2\]的建议,还可以检查终端配置文件是否正确设置了no_proxy环境变量,确保不会被覆盖导致部分设置不生效。此外,根据引用\[3\]提供的信息,如果你是通过API Server的形式访问dashboard,可以尝试使用"http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/"这个地址来访问dashboard。 #### 引用[.reference_title] - *1* [Unable to connect to the server:EOF](https://blog.csdn.net/weixin_67784724/article/details/129755010)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [解决Docker Unable to connect to the server: EOF](https://blog.csdn.net/qq_41490274/article/details/124663897)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [k8s Unable to connect to the server: EOF 问题解决](https://blog.csdn.net/weixin_42710740/article/details/123097398)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值