Minikube重启后自动拉取Docker镜像启动容器的配置来源咨询
问题解答
- Minikube的集群状态并非存储在本地manifest文件或普通缓存里,而是保存在它创建的虚拟机/容器化运行环境内部(比如你用Docker Desktop驱动的话,就是Minikube对应的Docker容器里)。
- 你之前执行
kubectl apply -f <<my-app.yml>>时,应用的配置已经被提交到Kubernetes集群的etcd数据库中(etcd是K8s用来存储集群所有资源状态的核心组件)。 - 你执行
minikube stop只是暂停了Minikube集群的运行,并没有删除集群本身的状态数据。即便是重启Mac、删除本地的容器和镜像,Minikube的集群存储(比如Docker驱动下的Minikube容器卷)依然保留着etcd里的资源配置。 - 当你再次
minikube start时,Kubernetes集群恢复运行,etcd里保存的应用资源配置依然存在,kube-controller-manager等组件会检测到Pod状态异常(因为之前的Pod随Minikube停止而终止),于是根据配置重新拉取镜像并创建Pod。
如果想要彻底清除这些配置,需要执行minikube delete来删除整个Minikube集群,这样etcd里的所有资源数据都会被清除,下次minikube start就是全新的集群。
内容的提问来源于stack exchange,提问作者Shivani
相关产品推荐
相关产品推荐

