EKS Docker 图片拉动 CrashLoopBackOff

EKS Docker Image Pull CrashLoopBackOff

我正在尝试将 Docker 映像从 ECR 部署到我的 EKS。尝试将我的 docker 映像部署到 pod 时,我从 CrashLoopBackOff 中收到以下事件:

Events:
  Type     Reason                  Age               From                                   Message
  ----     ------                  ----              ----                                   -------
  Normal   Scheduled               62s               default-scheduler                      Successfully assigned default/mlflow-tracking-server to <EC2 IP>.internal
  Normal   SuccessfulAttachVolume  60s               attachdetach-controller                AttachVolume.Attach succeeded for volume "<PVC>"
  Normal   Pulling                 56s               kubelet, <IP>.ec2.internal             Pulling image "<ECR Image UI>"
  Normal   Pulled                  56s               kubelet, <IP>.ec2.internal             Successfully pulled image "<ECR Image UI>"
  Normal   Created                 7s (x4 over 56s)  kubelet, <IP>.ec2.internal             Created container mlflow-tracking-server
  Normal   Pulled                  7s (x3 over 54s)  kubelet, <IP>.ec2.internal             Container image "<ECR Image UI>" already present on machine
  Normal   Started                 6s (x4 over 56s)  kubelet, <IP>.ec2.internal             Started container mlflow-tracking-server
  Warning  BackOff                 4s (x5 over 52s)  kubelet, <IP>.ec2.internal             Back-off restarting failed container

我不明白为什么它一直这样循环并失败。有人知道为什么会这样吗?

CrashLoopBackError 可能与这些可能的原因有关:

  • 您的 pod 中的应用程序由于错误而未启动;

  • 您的 pod 所基于的映像不存在于注册表中,或者 已安排您的 pod 的节点无法从注册表中提取;

  • pod部分参数配置不正确

在你的情况下,这似乎是容器内部的应用程序错误。 尝试查看日志:

kubectl logs <your_pod> -n <namespace>

有关如何解决此类错误的更多信息,请参阅:

https://pillsfromtheweb.blogspot.com/2020/05/troubleshooting-kubernetes.html

容器内的进程正在崩溃。可能是 docker 基本图像上的入口点的原因。

你可以试试这样检查容器的日志

kubectl logs -f <pod_name>