簡體   English   中英

由於 ContainerCannotRun,kubernetes 無法啟動 pod

[英]kubernetes failed to start pod due to ContainerCannotRun

我是 kubernetes 的新手。 最近設置了 1 個主節點和 1 個節點的 kubernetes 集群。

我可以通過在我的節點機器上運行sudo docker run <docker-image>來啟動一個 docker 容器。

但是我無法使用 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”二進制文件,因為我給了它錯誤的路徑。 檢查文件的路徑,這應該可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM