minikube镜像缓存

作者: hyperjiang | 来源:发表于2020-03-17 12:03 被阅读0次

    概述

    为了能够离线使用和加快速度,我们可以把minikube所需的docker images缓存到本地文件系统,特别对于墙内的同学们是非常有用的。

    查看本地缓存

    minikube cache list
    

    注:这些image文件实际上存放在~/.minikube/cache/images下面。

    添加缓存

    首先,在添加缓存之前,我们可以先运行eval $(minikube docker-env)让主机可以访问到minikube虚拟机里面运行的docker

    跑完上面那个命令,你可以试试docker images看看minikube虚拟机里面已经有哪些image了,然后就可以开始添加image缓存了。

    比如下面的命令是把kubernetesui/dashboard:v2.0.0-beta8kubernetesui/metrics-scraper:v1.0.2加入缓存:

    minikube cache add kubernetesui/dashboard:v2.0.0-beta8
    minikube cache add kubernetesui/metrics-scraper:v1.0.2
    

    小技巧:上面这两个image在阿里云的缓存里面已经存在的,所以实际上我们可以从阿里云目录复制一份出来到kubernetesui目录下面,比如

    cd ~/.minikube/cache/images
    cp registry.cn-hangzhou.aliyuncs.com/google_containers/dashboard_v2.0.0-beta8 ./kubernetesui/
    cp registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-scraper_v1.0.2 ./kubernetesui/
    

    然后再运行添加缓存的命令就不需要去docker仓库下载,能省掉很多时间。

    我们在第一次启动minikube的时候很多image本地都没有,所以下载会花一些时间,这时候你如果运行kubectl get pod -A可以看到一些pod的状态是ContainerCreating,这其实就是还在下载image,如果由于网络问题下载失败,状态就会变成ImagePullBackOff进行重试,如果还失败就会变成ErrImagePull,这时候我们可以通过kubectl describe命令来看看是拉取什么image失败了,比如:

    kubectl describe -n kube-system pod nginx-ingress-controller-6fc5bcc8c9-s5tns
    

    我们可以发现是拉取quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1失败了,一种解决方案是我们可以先用虚拟机里面的docker从中国镜像把image拉取下来,比如:

    docker pull quay.azk8s.cn/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
    

    然后打上原本的tag:

    docker tag quay.azk8s.cn/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1 quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
    

    然后运行下面的命令加入到minikube缓存:

    minikube cache add quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.26.1
    

    再举个例子,缓存vault:1.3.3

    docker pull docker.mirrors.ustc.edu.cn/library/vault:1.3.3
    docker tag docker.mirrors.ustc.edu.cn/library/vault:1.3.3 vault:1.3.3
    minikube cache add vault:1.3.3 --logtostderr
    

    删除缓存

    minikube cache delete <image name>
    

    相关文章

      网友评论

        本文标题:minikube镜像缓存

        本文链接:https://www.haomeiwen.com/subject/uijaehtx.html