如何解决由于容器命令不正确,Kubernetes pod 失败
我正在创建一个出口运营商。我通过命令 egress-operator-controller-manager
从 makefile 创建了一个 pod make deploy IMG=my_azure_repo/egress-operator:v0.1
。 pod 失败,它在 pod 描述中显示错误为:
State: Waiting
Reason: RunContainerError
Last State: Terminated
Reason: StartError
Message: failed to create containerd task: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: "/manager": stat /manager: no such file or directory: unknown
Failed 44s (x3 over 59s) kubelet Error: failed to create containerd task:
OCI runtime create failed: container_linux.go:380: starting container process caused:
exec: "/manager": stat /manager: no such file or directory: unknown
我怀疑在 manager.yaml
中,command:
下的 /manager 被执行了。
有人可以告诉我这个 manager.yaml
出了什么问题以及 command:
{3}} 在 deployment.yaml
image_azure_repo/egress-operator:v0.1
下有效
调试更新
而不是运行 Dockerfile,现在我只是在本地构建和运行 docker exec -it <container_id> /bin/bash
(在同一个 ubuntu 18 VM 上),当我尝试使用:OCI runtime exec failed: exec failed: container_linux.go:380:
starting container process caused: exec: "/bin/bash": stat /bin/bash:
no such file or directory: unknown
登录时,出现错误:
/bin/bash
这与我在 pod 描述中看到的类似错误。而不是 docker exec
,我还尝试了 /bin/sh
和 sh
并且只有 val df = `your existing dataframe`
// Derive new dataset from the original dataset
val newDF = df.select("artistId","displayName").distinct()
// Join new dataset with original dataset based on the common key and select the relevant columns
val combinedDF = df.join(newDF,df.col("musicalGroups") === newDF.col("artistId"),"leftOuter").select(df.col("artistId") as "artistId",df.col("musicalGroups") as "musicalGroups",df.col("displayName") as "displayName",newDF.col("displayName") as "name")
;它给出了同样的错误
解决方法
-
在 Dockerfile 中,您提到的入口点是
ENTRYPOINT ["/manager"]
但不应该是ENTRYPOINT ["./manager"]
-
关于“启动容器进程导致: exec: "/bin/bash": stat /bin/bash: " ,似乎基本映像没有
/bin/bash
它可能只有 {{1} }
这应该与 libc 不匹配。
Golang 默认使用 glibc,而 alpine 使用 musl。
您可以尝试修复它:
- 使用 glibc 使用基础镜像
- 在你的 alpine 镜像中安装 glibc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。