代码之家  ›  专栏  ›  技术社区  ›  S Andrew

Kubernetes吊舱在IMGPullbackoff故障时是否重新启动?

  •  0
  • S Andrew  · 技术社区  · 6 年前

    我有一个 kubernetes 集群工作得很好。我有10个工作节点和1个主设备。我下面有一个 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。

    编辑 我还想问一下,当创建部署时,节点开始第一次从容器注册表中提取图像。一旦它们被本地下载到节点上,当图像在本地存在时,为什么还要再次拉图像呢?

    请提出一些好的选择。谢谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Kun Li    6 年前

    imagePullPolicy: Always 因为每次pod重新启动时都会下载图像。

    pod总是由守护进程重新启动,所以请再等一点。