【问题标题】:I got Pod errors: CrashLoopBackOff from kubernetes我收到 Pod 错误:来自 kubernetes 的 CrashLoopBackOff
【发布时间】:2018-10-03 01:57:03
【问题描述】:

我试图在 kubenetes 引擎上运行简单的 python 文件。虽然我收到以下错误消息“Pod 错误:CrashLoopBackOff”。如何解决这个问题?

【问题讨论】:

  • 可以提交kubectl describe pod <pod_name> -n <namespace_name>的输出吗?
  • 很可能程序已完成,kubernetes 正在尝试一次又一次地重新启动程序。
  • 请按照 Maruf 的要求包含“kubectl describe pod”的输出。另外,在尝试在 Kubernetes 中运行映像之前,您是否尝试过在 Docker 中运行它?
  • 是的。 kubernetes 一次又一次重启程序。

标签: docker kubernetes google-kubernetes-engine


【解决方案1】:

Docker 容器在“启动”过程完成后立即退出的问题。添加一个永远运行的命令,它可能会起作用。 比如重新创建docker镜像:

#Dockerfile
[...]
CMD exec /bin/bash -c "trap : TERM INT; sleep infinity & wait"

【讨论】:

  • 脏?是避免容器退出的最简单方法。之后,当然,您必须进入 docker 并对其进行调试以放置正确的 CMD 或 ENTRYPOINT
  • 简单并不一定意味着整洁。对于 K8s,ANU V 想要的一种简洁的方式粘贴在下面(另一个答案),而不是通过修改 Dockerfile。
【解决方案2】:

只需如下修改您的部署:

   spec:
     containers:
     - image: YOUR_IMAGE
       name: NAME
       tty: true     #add this line

【讨论】:

  • 这会做什么?? @suren
  • 将保持终端运行。
猜你喜欢
  • 1970-01-01
  • 2020-10-28
  • 2020-05-04
  • 2020-02-28
  • 2021-01-26
  • 2019-03-31
  • 1970-01-01
  • 2020-07-30
  • 2022-07-11
相关资源
最近更新 更多