[英]Kubernetes StatefulSet - does not resatore data on pod restart
[英]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.