news 2026/6/9 20:09:38

解决k8s UI界面进不去

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
解决k8s UI界面进不去

一、引言

这两天迁移网络,直接重新部署docker还有k8,结果全部搞定之后,一开始的K8UI界面可以浏览的,结果就刷新了一下发现直接掉了。

去到服务器,发现一直在报错:

二、原因

对于服务器输出的:IPVS no destination available

一般是因为有 Service 用了externalTrafficPolicy:Local,当 Node 上没有该 Service 对应 Pod 时,Node 上的该 Service 对应 NodePort 的 IPVS 规则里,RS 列表为空。当有流量打到这个 Node 的对应 NodePort 上时,由于 RS 列表为空,内核就会报这个 warning 日志。

在云厂商托管的 K8S 服务里,通常是 LB 会去主动探测 NodePort,发到没有这个 Service 对应 Pod 实例的 Node 时,报文被正常丢弃,从而内核报 warning 日志。

这个日志不会对服务造成影响,可以忽略不管。如果是在腾讯云 TKE 环境里,并且用的 TencentOS,可以设置一个内核参数来抑制这个 warning 日志输出:

sysctl -w net.ipv4.vs.ignore_no_rs_error=1

以上排错来自:IPVS no destination available | Kubernetes 排障指南

ok,人家说了,这个玩意不影响功能,为啥我的还是有问题,继续看。

三、pod

我发现虽然我的 k8s 的UI界面起不来,但是我依赖于其中的 jekins 却可以启动,包括nacos啥的都没有问题,那就说明肯定其中的 pod 组件出了问题,对于 pod ,如果有小伙伴不理解的可以看这边文章:K8s 核心概念深度解析:Pod 是什么?-CSDN博客

ok,开始排查

kubectl get pods -n kubesphere-system

回:

这里可以看到,apiserver,console,controller-manager 这三个镜像都 ImagePullBackOff (拉取失败)

现在我们来检查一下看看我们的 docker 源是否有问题。

root@k8s-master:~# docker pull kubesphere/ks-console:v3.4.1 Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

amazing!拉不到我要的镜像,哥们加速器也是配好的。

一番搜查,看到这篇文章:kubesphere/ks-controller-manager:v3.4.1镜像无法拉取的问题 - KubeSphere 开发者社区

这个哥们说镜像被清理了?

咱也不知道,那就直接拉取他的东西到我们的docker源里面去。

docker pull harrymore/ks-controller-manager:v3.4.1 docker tag harrymore/ks-controller-manager:v3.4.1 kubesphere/ks-controller-manager:v3.4.1

接着修改一下拉取策略

# 编辑 ks-console Deployment 配置 kubectl edit deployment ks-console -n kubesphere-system # 找到 spec.template.spec.containers[0] 段落 containers: - name: ks-console image: kubesphere/ks-console:v3.4.1 imagePullPolicy: IfNotPresent # 关键配置:仅本地无镜像时才拉取 # 其他配置保持不变

接着

# 1. 删除异常 Pod(Deployment 会自动重建,使用本地镜像) kubectl delete pod -n kubesphere-system -l app=ks-console,tier=frontend # 2. 实时查看 Pod 状态(等待变为 Running/1/1) kubectl get pods -n kubesphere-system -l app=ks-console,tier=frontend -w

ok,启动好了没有问题了。

四、如果还是不行

我的情况是因为突然去拉了官方的源,可能是我重装的时候没有修改策略,正常来说我都是直接拉我自己的私有仓库里的东西,包括我的docker源应该都是包含我的镜像的。

# 查看本地所有镜像

docker images

哥们后面才发现原来我有的,重复拉取了,后面把 Harrymore 的删掉了,大家如果没有就拉取Harrymore的。

如果你也有了以上的这些 ks-controller-manager 等镜像,可以直接用以下命令,就不需要一个个去修改策略了。

# 1. 批量设置镜像拉取策略:强制使用本地 Docker 镜像 kubectl -n kubesphere-system patch deployment ks-console --type='json' -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"IfNotPresent"}]' kubectl -n kubesphere-system patch deployment ks-apiserver --type='json' -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"IfNotPresent"}]' kubectl -n kubesphere-system patch deployment ks-controller-manager --type='json' -p='[{"op":"replace","path":"/spec/template/spec/containers/0/imagePullPolicy","value":"IfNotPresent"}]' # 2. 重启 kubelet:让 kubelet 重新对接 Docker,识别本地镜像 systemctl restart kubelet # 3. 滚动重启 KubeSphere 核心 Deployment,触发 Pod 重建 kubectl -n kubesphere-system rollout restart deployment ks-console ks-apiserver ks-controller-manager # 4. 实时查看 Pod 状态(等待全部变为 Running/1/1) kubectl get pods -n kubesphere-system -l app in (ks-apiserver,ks-console,ks-controller-manager) -w

验证:

# 1. 查看 ks-console Service 的 Endpoints(非空即为成功) kubectl describe service ks-console -n kubesphere-system | grep Endpoints # 2. 测试 KubeSphere 控制台访问(返回 200/302 即为正常) curl -I http://192.168.100.27:30880

END

如果觉得这份基础知识点总结清晰,别忘了动动小手点个赞👍,再关注一下呀~ 后续还会分享更多有关面试问题的干货技巧,同时一起解锁更多好用的功能,少踩坑多提效!🥰 你的支持就是我更新的最大动力,咱们下次分享再见呀~🌟

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/8 18:39:01

基于单片机温度烟雾控制系统设计

**单片机设计介绍,基于单片机温度烟雾控制系统设计 文章目录一 概要二、功能设计设计思路三、 软件设计原理图五、 程序一 概要 一、引言 随着科技的进步和人们生活水平的提高,家用电器越来越普及,家庭用电量逐年上升,火灾风险也…

作者头像 李华
网站建设 2026/6/9 16:43:50

Qwen-Image-2512-ComfyUI性能瓶颈:高并发请求下的优化策略

Qwen-Image-2512-ComfyUI性能瓶颈:高并发请求下的优化策略 1. 引言:Qwen-Image-2512-ComfyUI的工程挑战 随着生成式AI在图像创作领域的广泛应用,阿里开源的Qwen-Image-2512-ComfyUI作为基于Qwen系列大模型的最新图像生成系统(25…

作者头像 李华
网站建设 2026/6/4 23:37:19

Qwen3-4B模型热更新机制:无缝切换实战配置

Qwen3-4B模型热更新机制:无缝切换实战配置 1. 背景与需求分析 随着大语言模型在实际业务场景中的广泛应用,模型服务的稳定性和响应能力面临更高要求。特别是在高并发、低延迟的应用环境中,如何实现模型版本的平滑升级——即“热更新”——成…

作者头像 李华
网站建设 2026/6/9 16:45:33

基于单片机人体身高测重仪设计

**单片机设计介绍,基于单片机人体身高测重仪设计 文章目录一 概要二、功能设计设计思路三、 软件设计原理图五、 程序一 概要 基于单片机人体身高测重仪设计概要如下: 一、设计概述 本设计基于单片机平台,旨在实现人体身高和体重的自动测量…

作者头像 李华
网站建设 2026/6/4 23:49:01

Qwen3-0.6B镜像备份策略:数据持久化部署最佳实践

Qwen3-0.6B镜像备份策略:数据持久化部署最佳实践 1. 背景与场景分析 随着大语言模型在实际业务中的广泛应用,如何保障模型服务的稳定性与数据的可恢复性成为工程落地的关键挑战。Qwen3(千问3)是阿里巴巴集团于2025年4月29日开源…

作者头像 李华
网站建设 2026/6/5 6:02:52

Keil代码提示基础配置实战案例:新手也能懂

让 Keil 真正“聪明”起来:手把手教你激活代码提示,告别盲写时代你是不是也经历过这样的场景?打开 Keil,敲下HAL_,结果——啥也没弹出来。想调用GPIOA->看看有哪些寄存器字段,输入.后依旧一片寂静。只能…

作者头像 李华