【发布时间】:2021-10-29 18:57:44
【问题描述】:
我刚刚将我的 eks 从 1.15 更新到 1.16,但我无法在我的命名空间中启动并运行我的部署。当我做 kubectl get po 并尝试列出我的 pod 时,它们都陷入了 CrashLoopBackOff 状态。我尝试描述一个 pod,这就是我在事件部分得到的结果
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Pulling 56m (x8 over 72m) kubelet Pulling image "xxxxxxx.dkr.ecr.us-west-2.amazonaws.com/xxx-xxxx-xxxx:master.697.7af45fff8e0"
Warning BackOff 75s (x299 over 66m) kubelet Back-off restarting failed container
kuberntets 版本 -
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.5", GitCommit:"6b1d87acf3c8253c123756b9e61dac642678305f", GitTreeState:"clean", BuildDate:"2021-03-18T01:10:43Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16+", GitVersion:"v1.16.15-eks-e1a842", GitCommit:"e1a8424098604fa0ad8dd7b314b18d979c5c54dc", GitTreeState:"clean", BuildDate:"2021-07-31T01:19:13Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}
【问题讨论】:
-
要对
crushLoopBackOff进行故障排除,您必须执行kubectl describe pod POD。 -
我确实描述了 pod,正如您在上面的事件中看到的那样
-
是的,现在您知道 kubelet 无法重新启动容器,请使用
kubectl logs POD检查容器日志。 -
日志说standard_init_linux.go:219: exec user process cause: exec format error
-
exec format error通常表示平台不匹配,例如您正在 Graviton (ARM) 实例上部署 x86 容器,反之亦然。
标签: amazon-web-services kubernetes amazon-eks kubernetes-pod