我正在尝试使用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只是不知何故不知道在哪里找到我的形象。有谁知道我怎么能让它发挥作用?
答案 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