簡體   English   中英

kubernetes 在創建 pod 時出現 CrashLoopBackOff 錯誤

[英]kubernetes giving CrashLoopBackOff error while creating pods

我正在創建一個節點容器的 pod,它給出了CrashLoopBackOff錯誤。

kubectl 獲取豆莢

在此處輸入圖片說明

kubectl 描述 pod test-node3

在此處輸入圖片說明

任何幫助,將不勝感激。

您的容器沒有長時間運行的進程。 容器中的主進程以退出代碼 0 退出,這通常意味着該進程已成功終止。 您可以在您共享的 kubectl describe 輸出中看到它。

Reason: Completed 
Exit Code: 0

您可以添加如下命令,以便 pod 保持運行狀態。

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: busybox
    command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']

參考:文檔

一旦 Pod 被調度程序分配給一個節點,kubelet 就會開始使用容器運行時創建容器。 容器有三種可能的狀態:等待、運行和終止。

已終止:表示容器已完成執行並已停止運行

容器在成功完成執行或由於某種原因失敗時進入此狀態。 無論如何,都會顯示原因和退出代碼,以及容器的開始和結束時間。

在您的屏幕截圖上,很明顯 pod 內的容器正在運行完成並完成其工作,退出代碼 0 如下所示

  State:          Terminated
    Reason:       Completed
    Exit Code:    0

您應該向容器添加一個長時間運行的進程,或者定義restartPolicy: Never on pod 定義。

通過添加正確的重啟策略測試了您的圖像,並且 POD 可以正常運行直至完成且沒有崩潰

kubectl run test --image=abhishekk27/kube-pub:new --restart=Never

$ kubectl get pods
NAME      READY   STATUS      RESTARTS   AGE
test      0/1     Completed   0          8m12s

yaml 生成:

apiVersion: v1
kind: Pod
metadata:
  creationTimestamp: null
  labels:
    run: test
  name: test
spec:
  containers:
  - image: abhishekk27/kube-pub:new
    name: test
    resources: {}
  dnsPolicy: ClusterFirst
  restartPolicy: Never

結果

$ kubectl describe pod test
Name:         test
Namespace:    default
Priority:     0
Node:         dlv-k8s-node-1/131.160.200.104
Start Time:   Fri, 17 Jan 2020 09:45:00 +0000
Labels:       run=test
Annotations:  <none>
Status:       Succeeded
IP:           10.244.1.12
IPs:
  IP:  10.244.1.12
Containers:
  test:
    Container ID:   docker://b335e5fef022dced824f85ba2bfe4c024608c9b5463599eb36591a14d709786d
    Image:          abhishekk27/kube-pub:new
    Image ID:       docker-pullable://abhishekk27/kube-pub@sha256:6a696bd733edaa48b9be781960f4ee178d16f1c9aea51e53bd0f54326a3d05b1
    Port:           <none>
    Host Port:      <none>
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Fri, 17 Jan 2020 09:45:48 +0000
      Finished:     Fri, 17 Jan 2020 09:45:48 +0000
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-7f4mt (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  default-token-7f4mt:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-7f4mt
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age    From                     Message
  ----    ------     ----   ----                     -------
  Normal  Scheduled  6m50s  default-scheduler        Successfully assigned default/test to dlv-k8s-node-1
  Normal  Pulling    6m46s  kubelet, dlv-k8s-node-1  Pulling image "abhishekk27/kube-pub:new"
  Normal  Pulled     5m58s  kubelet, dlv-k8s-node-1  Successfully pulled image "abhishekk27/kube-pub:new"
  Normal  Created    5m58s  kubelet, dlv-k8s-node-1  Created container test
  Normal  Started    5m58s  kubelet, dlv-k8s-node-1  Started container test

暫無
暫無

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

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