簡體   English   中英

kubernetes pod是否在ImgPullBackOff失敗時重新啟動

[英]Does kubernetes pod restart on failure on ImgPullBackOff

我有一個運行良好的kubernetes集群。 我有10個工作節點和1個主設備。 我的Pod和容器具有以下deployment.yaml文件類型作為DaemonSet

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: deployment    
  namespace: mynamespace   

spec:
  replicas: 2
  selector:
    matchLabels:
      name: deployment
  template:
    metadata:
      labels:
        name: deployment

    spec:
      #List of all the containers
      containers:
      - name: container1
        image: CRname/container1
        imagePullPolicy: Always
        volumeMounts:
        - mountPath: /share
          name: share-files
        securityContext:
          privileged: true

      - name: container2
        image: CRname/container2
        imagePullPolicy: Always
        volumeMounts:
        - mountPath: /share
          name: share-files
        securityContext:  
          privileged: true

      volumes:
      - name: share-files
        hostPath:
          path: /home/user/shared-folder

      imagePullSecrets:
      - name: Mysecret

      nodeSelector:
         NodeType: ALL

從上面開始,這兩個容器開始在所有工作節點上運行,並且運行良好。 但是我觀察到,有時很少有節點顯示為ImagePullBackOff錯誤,這意味着由於某些網絡或任何其他問題,它無法下載圖像。 我確實使用了describe命令來檢查哪個圖像失敗。 但是問題是它沒有嘗試自動重新下載圖像。 我必須刪除pod,因此它是自動創建的,然后工作正常。

我只想知道為什么pod會顯示此錯誤,並且不要嘗試重新下載映像。 我可以在yaml文件中添加任何內容,以便在出現任何類型的錯誤時自動刪除並重新創建pod。

編輯我也想問一下,當創建部署時,節點首次開始從容器注冊表中提取圖像。 一旦將它們本地下載到節點上,為什么當圖像本地存在時,又必須再次拉圖像?

請提出一些好的選擇。 謝謝。

imagePullPolicy: Always在每次pod重新啟動時下載映像。

並且pod總是由daemonset重新啟動,因此只需再等待一段時間。

暫無
暫無

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

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