gpt4 book ai didi

java - 由于 ContainerCannotRun,kubernetes 无法启动 pod

转载 作者:行者123 更新时间:2023-12-01 13:38:08 24 4
gpt4 key购买 nike

我是 kubernetes 的新手。最近设置了 1 个主节点和 1 个节点的 kubernetes 集群。

我可以通过运行来启动一个 docker 容器sudo docker run <docker-image>在我的节点机器中。

但是我无法使用 kubernetes yml 文件将 docker 容器作为 pod 启动。
通过运行 sudo kubectl create -f deployment.yml
我描述了 pod 信息并看到了这个错误信息。

      Last State:   Terminated
Reason: ContainerCannotRun
Message: OCI runtime create failed: container_linux.go:345: starting container process caused "exec: \"HOSTNAME\": executable file not found in $PATH": unknown
Exit Code: 128

docker 容器假设启动一个 java 可执行文件。
这是我的部署文件
kind: Service
apiVersion: v1
metadata:
name: service1-service
spec:
selector:
app: service1
ports:
- protocol: "TCP"
# Port accessible inside cluster
port: 26666
# Port to forward to inside the pod
targetPort: 26666
# Port accessible outside cluster
nodePort: 26666
type: LoadBalancer

---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: service1-depolyment
spec:
selector:
matchLabels:
app: service1
replicas: 1
template:
metadata:
labels:
app: service1
spec:
containers:
- name: service1
image: service1-docker-image
imagePullPolicy: Never
ports:
- containerPort: 26666
# args: ["HOSTNAME", "KUBERNETES_PORT"]

在这个部署文件中,我尝试创建一个 nginx 和一个 java web 应用程序服务。

这是因为我定义了错误的 apiVersion 和 kind ?

任何帮助,将不胜感激。

最佳答案

看这个错误exec: \"HOSTNAME\": executable file not found in $PATH
我有一个类似的错误,因为容器无法找到 docker“CMD”二进制文件,因为我给了它错误的路径。检查文件的路径,这应该可以解决问题。

关于java - 由于 ContainerCannotRun,kubernetes 无法启动 pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56517663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com