news 2026/7/15 15:43:44

解决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/7/1 22:47:14

从Prompt到掩码:SAM3大模型镜像让图像分割更智能

从Prompt到掩码:SAM3大模型镜像让图像分割更智能 1. 引言:图像分割的范式革新 在传统计算机视觉任务中,图像分割长期依赖于预定义类别和大量标注数据。无论是语义分割还是实例分割,模型只能识别训练集中出现过的物体类型&#x…

作者头像 李华
网站建设 2026/7/15 3:17:30

YOLOv8部署痛点全解析:常见错误及解决方案汇总

YOLOv8部署痛点全解析:常见错误及解决方案汇总 1. 引言 1.1 业务场景描述 在工业级目标检测应用中,YOLOv8凭借其高精度与实时性,已成为主流选择。尤其是在智能监控、生产质检、人流统计等场景下,对多目标毫秒级识别和稳定运行能…

作者头像 李华
网站建设 2026/7/1 14:27:50

[特殊字符]_Web框架性能终极对决:谁才是真正的速度王者[20260114171154]

作为一名拥有10年开发经验的全栈工程师,我经历过无数Web框架的兴衰更替。从早期的jQuery时代到现在的Rust高性能框架,我见证了Web开发技术的飞速发展。今天我要分享一个让我震惊的性能对比测试,这个测试结果彻底改变了我对Web框架性能的认知。…

作者头像 李华
网站建设 2026/7/1 14:48:14

FunASR语音识别部署教程:Kubernetes集群配置

FunASR语音识别部署教程:Kubernetes集群配置 1. 引言 随着语音识别技术在智能客服、会议转录、语音助手等场景的广泛应用,高效、可扩展的部署方案成为工程落地的关键。FunASR 是一个功能强大的开源语音识别工具包,支持多种模型(…

作者头像 李华
网站建设 2026/7/1 21:21:11

阿里通义Z-Image-Turbo温暖阳光模拟:黄金时段光照生成策略

阿里通义Z-Image-Turbo温暖阳光模拟:黄金时段光照生成策略 1. 引言 1.1 技术背景与应用需求 在AI图像生成领域,光照条件的精准控制是决定画面真实感和情感表达的关键因素。自然光中的“黄金时段”(Golden Hour)——日出后与日落…

作者头像 李华
网站建设 2026/7/7 0:18:54

TurboDiffusion手机端适配?响应式WebUI界面使用体验报告

TurboDiffusion手机端适配?响应式WebUI界面使用体验报告 1. 引言 1.1 业务场景描述 随着AI视频生成技术的快速发展,用户对高效、便捷的视频创作工具需求日益增长。TurboDiffusion作为清华大学、生数科技与加州大学伯克利分校联合推出的视频生成加速框…

作者头像 李华