news 2026/5/1 9:05:50

如何排错运行在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/30 11:19:03

Node.js ESC/POS打印实战:解决企业级打印痛点的完整方案

Node.js ESC/POS打印实战:解决企业级打印痛点的完整方案 【免费下载链接】node-escpos 🖨️ ESC/POS Printer driver for Node.js 项目地址: https://gitcode.com/gh_mirrors/no/node-escpos 当你面对POS机打印需求时,是否曾被复杂的硬…

作者头像 李华
网站建设 2026/5/1 5:45:10

高校智慧后勤物业管理系统基本功能解析

随着高校管理数字化、智能化进程的加速,智慧后勤物业管理系统已成为提升校园服务效率与管理水平的重要工具。该系统通过整合资源、优化流程、强化管控,实现了后勤服务从传统人工模式向智慧化平台的转型。以下将基于典型的功能架构图,对其基本…

作者头像 李华
网站建设 2026/5/1 5:46:57

rclone云存储管理实战:从零搭建跨平台数据同步体系

rclone云存储管理实战:从零搭建跨平台数据同步体系 【免费下载链接】rclone 项目地址: https://gitcode.com/gh_mirrors/rcl/rclone 还在为多设备间文件同步而手忙脚乱吗?是否经常需要在不同云盘之间来回切换?今天我们将一起探索如何…

作者头像 李华
网站建设 2026/5/1 6:57:50

YOLOSHOW终极指南:零门槛实现专业级目标检测

YOLOSHOW终极指南:零门槛实现专业级目标检测 【免费下载链接】YOLOSHOW YOLO SHOW - YOLOv10 / YOLOv9 / YOLOv8 / YOLOv7 / YOLOv5 / RTDETR GUI based on Pyside6 项目地址: https://gitcode.com/gh_mirrors/yo/YOLOSHOW 还在为复杂的YOLO命令行操作而烦恼…

作者头像 李华
网站建设 2026/5/1 5:47:30

QRemeshify终极指南:5分钟掌握高质量四边形重网格技术

QRemeshify终极指南:5分钟掌握高质量四边形重网格技术 【免费下载链接】QRemeshify A Blender extension for an easy-to-use remesher that outputs good-quality quad topology 项目地址: https://gitcode.com/gh_mirrors/qr/QRemeshify 你是否曾经为复杂的…

作者头像 李华