windows - Windows Pod 上的 Kubernetes Minikube 拉取镜像失败

标签 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 | 的 kubernetes 虚拟机 | Invoke-Expression(仅限 powershell,我无法在命令提示符下执行类似的操作)并且我必须在我想用来将图像推送到 kubernetes 图像的每个 powershell 窗口中插入此命令。

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

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 只是不知何故不知道在哪里可以找到我的图像。有谁知道我如何让它工作?

最佳答案

我找到了解决方案,它是由 this 中的用户建议的github线程

If anyone else ends up on this thread, the solution that worked for me was updating the image pull policy, you can find info on this here. From the docs: Be default, the kubelet will try to pull each image from the specified registry. You need to update this so it can look locally.

If you're running from the CLI, add --image-pull-policy=IfNotPresent to your kubectl run, i.e.

kubectl run some-node-proj --image=my-awesome-local-image:v1 --image-pull-policy=IfNotPresent

添加 --image-pull-policy=IfNotPresent 让我可以毫无问题地运行容器。

关于windows - Windows Pod 上的 Kubernetes Minikube 拉取镜像失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47051610/

相关文章:

windows - 适用于 Windows 的 Git 无法正确处理网络目录

angular - npm run 不通过 --configuration 来构建任务

kubernetes - k8 pod优先级和测试

ubuntu - 无法在浏览器中访问 minikube 服务,但 curl 工作正常

Windows 10 相当于 LaunchAdvancedAssociationUI

windows - 两个 TCHAR 的不区分大小写的比较

docker - 使用 openshift origin Web 控制台时 https 重定向到 127.0.0.1

java - 我们可以在已经运行的 Kubernetes pod 中运行一个可执行的 jar 文件吗?

windows - Ansible:检测证书是否已安装在证书存储中的最佳方法

php - 如何让 php 使用 docker 与 mysql 对话?