k8s启空容器用于排查问题

如果 Pod 一会儿就销毁了,可能是由于 Pod 配置、节点状态或容器运行时问题导致的。

此时想进容器排查,但是pod一会儿就销毁了,不利于排查。

为了排查问题,可以启动一个空容器来临时保留 Pod,进而进入 Pod 内部进行调试。以下是具体的操作步骤:

  1. 启动一个空容器
    可以通过以下 YAML 文件定义一个简单的空容器,将其挂载到目标 Pod 中,以便进行调试:
yaml 复制代码
apiVersion: v1
kind: Pod
metadata:
  name: debug-pod
spec:
  containers:
    - name: debug-container
      image: busybox
      command: ["/bin/sh", "-c", "sleep 3600"]
      volumeMounts:
        - name: debug-volume
          mountPath: /debug
  volumes:
    - name: debug-volume
      emptyDir: {}

busybox 镜像用于启动一个简单的容器,sleep 3600 使容器保持运行状态。

emptyDir 卷用于挂载一个临时目录,方便在调试过程中存储临时文件。

附:你也可以将自己容器的命令前添加sleep 3600来排查,不用单独启busybox

另外sleep 命令可以替换为 tail -f /dev/null,以保持容器处于运行状态。实际上,tail -f /dev/null 是一种常见的替代方法,用于让容器持续运行而不执行任何实际任务。

  • 资源占用更低:sleep 会占用一个进程,而 tail -f /dev/null 几乎不会占用任何资源。
  • 更灵活:tail -f /dev/null可以随时通过信号中断,而 sleep 在睡眠期间无法被中断。
相关推荐
kobe_OKOK_38 分钟前
docker compose命名卷 映射到宿主机的路径
运维·docker·容器
无言听风雨丶2 小时前
Linux 容器本质探秘:Cgroup 与 Namespace 深度解析与实战
linux·运维·服务器·kubernetes
分布式存储与RustFS3 小时前
JuiceFS 接 RustFS 当数据后端:把对象存储挂成本地文件系统
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
孔令飞5 小时前
很多人想学AI Infra,今天推荐一个 AI Agent / AI Infra 学习路线
云原生·go·ai编程
晨陌y6 小时前
Flare自托管导航页教程:Docker部署、多用户、API与公网访问
运维·docker·容器
无言听风雨丶6 小时前
Kubernetes GitOps 持续交付实战:用 Argo CD 让 Git 成为集群事实源
git·elasticsearch·kubernetes
Z21-X6 小时前
云原生运维实战笔记:华为云存储类服务全景解析——EVS、OBS、SFS与CBR深度实践
运维·笔记·学习·云原生·华为云
分布式存储与RustFS7 小时前
K8s 集群备份落到自建对象存储:Velero 接 RustFS 配置指南
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
无言听风雨丶15 小时前
Kubernetes 控制平面深度剖析:从 kubectl apply 到 etcd 写入的全链路
平面·kubernetes·etcd
openFuyao17 小时前
openFuyao x 复旦大学软件工程实验室 Panel 回顾:Agentic时代,集群调度技术体系将如何演进?
kubernetes·openfuyao