Windows Pod上的Kubernetes Minikube无法提取图像

时间:2017-11-01 09:19:42

标签: windows docker kubernetes minikube

我正在尝试使用Minikube和Hyper-V在Windows上运行Kubernetes。我设法使用minikube start --vm-driver=hyperv --hyperv-virtual-switch=KuberNAT成功运行Minikube并检查minikube status给了我

PS > minikube status
minikube: Running
cluster: Running
kubectl: Correctly Configured: pointing to minikube-vm at 192.168.1.74

但是现在我正在尝试使用kubectl在kubernetes中运行一个图像,我设法让我的powershell窗口指向带有minikube docker-env | Invoke-Expression的kubernetes vm(仅限PowerShell,我无法使用在命令提示符上做类似的事情)我必须在我想用来将图像推送到kubernetes图像的每个PowerShell窗口中插入此命令。

我遇到的问题是我无法运行容器,我可以使用kubectl run cloudconfig --image=cloudconfig“部署”图像,但创建的窗格会给我这个错误:

Failed to pull image "cloudconfig": rpc error: code = Unknown desc =
Error response from daemon: repository cloudconfig not found: does not
exist or no pull access

如果我运行docker image ls,我会

REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
cloudconfig                                            latest              9199d500e746        2 minutes ago       105MB
openjdk                                                8-jre-alpine        5699ac7295f9        6 days ago          81.4MB
gcr.io/google_containers/k8s-dns-sidecar-amd64         1.14.5              fed89e8b4248        5 weeks ago         41.8MB
gcr.io/google_containers/k8s-dns-kube-dns-amd64        1.14.5              512cd7425a73        5 weeks ago         49.4MB
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64   1.14.5              459944ce8cc4        5 weeks ago         41.4MB
gcr.io/google_containers/kubernetes-dashboard-amd64    v1.7.0              284ec2f8ed6c        5 weeks ago         128MB
gcr.io/google-containers/kube-addon-manager            v6.4-beta.2         0a951668696f        4 months ago        79.2MB
gcr.io/google_containers/pause-amd64                   3.0                 99e59f495ffa        18 months ago       747kB

docker container ls给了我

CONTAINER ID        IMAGE                                                  COMMAND                  CREATED             STATUS              PORTS               NAMES
3d79bab2a212        gcr.io/google_containers/pause-amd64:3.0               "/pause"                 41 seconds ago      Up 40 seconds                           k8s_POD_cloudconfig-88c867589-qpqph_default_ac2dd8bb-bee1-11e7-8e51-00155d00ba16_0
e6723a726c26        gcr.io/google_containers/k8s-dns-sidecar-amd64         "/sidecar --v=2 --..."   43 minutes ago      Up 43 minutes                           k8s_sidecar_kube-dns-6fc954457d-gvmz6_kube-system_f5de0b0e-be4b-11e7-8699-00155d00ba16_1
36980feeff76        gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64   "/dnsmasq-nanny -v..."   43 minutes ago      Up 43 minutes                           k8s_dnsmasq_kube-dns-6fc954457d-gvmz6_kube-system_f5de0b0e-be4b-11e7-8699-00155d00ba16_1
d3d61e3861f0        gcr.io/google_containers/k8s-dns-kube-dns-amd64        "/kube-dns --domai..."   43 minutes ago      Up 43 minutes                           k8s_kubedns_kube-dns-6fc954457d-gvmz6_kube-system_f5de0b0e-be4b-11e7-8699-00155d00ba16_1
45208e98bd7f        gcr.io/google_containers/kubernetes-dashboard-amd64    "/dashboard --inse..."   43 minutes ago      Up 43 minutes                           k8s_kubernetes-dashboard_kubernetes-dashboard-8hw2w_kube-system_f5bb8241-be4b-11e7-8699-00155d00ba16_1
1fbb3688711d        gcr.io/google_containers/pause-amd64:3.0               "/pause"                 43 minutes ago      Up 43 minutes                           k8s_POD_kube-dns-6fc954457d-gvmz6_kube-system_f5de0b0e-be4b-11e7-8699-00155d00ba16_1
c71ab868584c        gcr.io/google-containers/kube-addon-manager            "/opt/kube-addons.sh"    43 minutes ago      Up 43 minutes                           k8s_kube-addon-manager_kube-addon-manager-minikube_kube-system_9831e93c3188555873fdb49f43198eef_1
1df643d195d2        gcr.io/google_containers/pause-amd64:3.0               "/pause"                 43 minutes ago      Up 43 minutes                           k8s_POD_kubernetes-dashboard-8hw2w_kube-system_f5bb8241-be4b-11e7-8699-00155d00ba16_1
28f48e09fd46        gcr.io/google_containers/pause-amd64:3.0               "/pause"                 43 minutes ago      Up 43 minutes                           k8s_POD_kube-addon-manager-minikube_kube-system_9831e93c3188555873fdb49f43198eef_1

所以我假设所有其他的东西都正常工作,kubernetes只是不知何故不知道在哪里找到我的形象。有谁知道我怎么能让它发挥作用?

2 个答案:

答案 0 :(得分:3)

我找到了解决方案,用户在this github线程

中建议了解决方法
  

如果有其他人在这个帖子上结束,那么解决方案对我有用   正在更新图像提取政策,你可以在这里找到相关信息。   从文档:默认情况下,kubelet将尝试拉出每个图像   来自指定的注册表。您需要更新它,以便它可以看起来   本地。

     

如果您从CLI运行,请添加--image-pull-policy = IfNotPresent   你的kubectl运行,即

     

kubectl运行some-node-proj --image = my-awesome-local-image:v1   --image-拉政策= IfNotPresent

添加--image-pull-policy=IfNotPresent允许我运行容器没问题。

答案 1 :(得分:0)

通过将驱动程序从hyperkit更改为docker,我可以正常工作。似乎hyperkit出现网络问题。

minikube start --driver=docker