news 2026/4/23 11:27:36

如何排错运行在Kubernetes集群中的服务?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何排错运行在Kubernetes集群中的服务?

我们的前端服务以job运行。k8s的job用于执行一次性的任务,运行完毕即退出。以job方式运行的前端服务启动程序只做一件事情,将镜像中指定目录下的静态文件上传到对象存储。上传前会做一些变量替换,替换的值和对象存储的连接信息存储在Nacos中。

Nacos的连接信息通过job的环境变量注入,类似下面这样,

apiVersion: batch/v1 kind: Job metadata: name: frontend-app-web spec: template: metadata: labels: app: frontend-app-web spec: containers: - name: frontend-app-web image: harbor.example.com/frontend-app-web:3 imagePullPolicy: Always env: - name: NACOS_HOST value: nacos-cs.nacos.svc.cluster.local:8848 - name: NACOS_AUTH_USERNAME value: username - name: NACOS_AUTH_PASSWORD value: veryLongPassword restartPolicy: Never

在部署过程中,发现有一个前端服务始终卡在连接Nacos的阶段,日志如下,

起初我确定Nacos的连接信息是没有错的,但日志显示连接Nacos超时。为了排查这个问题,将原本以job方式运行的服务更改为deployment方式,如下,

apiVersion: apps/v1 kind: Deployment metadata: name: frontend-app-web labels: app: frontend-app-web spec: replicas: 1 selector: matchLabels: app: frontend-app-web template: metadata: labels: app: frontend-app-web spec: containers: - name: frontend-app-web image: harbor.example.com/frontend-app-web:3 imagePullPolicy: Always command: ["/bin/bash"] args: ["-c", "while true;do sleep 3600;done"] tty: true stdin: true env: - name: NACOS_HOST value: nacos-cs.nacos.svc.cluster.local:8848 - name: NACOS_AUTH_USERNAME value: username - name: NACOS_AUTH_PASSWORD value: veryLongPassword restartPolicy: Always

更改为deployment运行,最重要是加入下面四行内容,

command: ["/bin/bash"] args: ["-c", "while true;do sleep 3600;done"] tty: true stdin: true

这样Pod运行后,就可以进入容器内部调试。

Pod启动后,运行镜像原本的启动命令(是一段JavaScript代码,完成文章开头提到的上传前端文件到对象存储的功能),还是一样的报错。和正常服务比较,发现Nacos的连接地址少写了“http://”,在容器里面修改环境变量,

export NACOS_HOST=http://nacos-cs.nacos.svc.cluster.local:8848

重新运行上传程序,运行成功。

K8s调试Pod核心是集群视角多维度排查,依赖kubectl工具链。因分布式隔离、临时生命周期(重启丢状态),常用logs/exec/临时容器等方法,避免直接操作宿主机。

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

CosyVoice2流式语音合成中的音色一致性挑战与优化实践

CosyVoice2流式语音合成中的音色一致性挑战与优化实践 【免费下载链接】CosyVoice Multi-lingual large voice generation model, providing inference, training and deployment full-stack ability. 项目地址: https://gitcode.com/gh_mirrors/cos/CosyVoice 现象观察…

作者头像 李华
网站建设 2026/4/17 18:05:21

YOLOv9模型评估全透视:从性能解码到调优实战

YOLOv9模型评估全透视:从性能解码到调优实战 【免费下载链接】yolov9 项目地址: https://gitcode.com/GitHub_Trending/yo/yolov9 在目标检测领域,YOLOv9作为最新一代的实时检测模型,其评估过程不仅是验证性能的必要步骤,…

作者头像 李华
网站建设 2026/4/19 17:12:30

Taskflow:重新定义C++并行编程的新范式

Taskflow:重新定义C并行编程的新范式 【免费下载链接】taskflow 项目地址: https://gitcode.com/gh_mirrors/taskfl/taskflow 在现代计算环境中,并行编程已成为提升应用性能的关键技术。Taskflow作为一款基于现代C构建的开源并行编程框架&#x…

作者头像 李华
网站建设 2026/4/9 10:18:09

【量子编程效率提升10倍】:深度解析VSCode + Azure QDK扩展开发秘技

第一章:量子编程新时代的开启量子计算正从理论走向实践,随着硬件技术突破与算法模型演进,量子编程已成为前沿开发者关注的核心领域。传统编程范式在处理指数级复杂问题时遭遇瓶颈,而量子叠加、纠缠和干涉等特性为解决密码学、分子…

作者头像 李华
网站建设 2026/4/20 23:25:09

从零搭建多模态Agent测试框架:基于Docker的6步高效实现路径

第一章:多模态 Agent 的 Docker 测试用例在开发和部署多模态 Agent 时,使用 Docker 容器化技术能够有效保证环境一致性与服务可移植性。通过构建隔离的测试环境,开发者可以在不同平台快速验证 Agent 对文本、图像、语音等多源输入的处理能力。…

作者头像 李华
网站建设 2026/4/23 1:27:44

一致性模型终极指南:快速掌握卧室图像生成技术

一致性模型终极指南:快速掌握卧室图像生成技术 【免费下载链接】diffusers-cd_bedroom256_l2 项目地址: https://ai.gitcode.com/hf_mirrors/openai/diffusers-cd_bedroom256_l2 在当今AI图像生成领域,一致性模型(Consistency Models…

作者头像 李华