繁体   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