簡體   English   中英

Windows Pod 上的 Kubernetes Minikube 拉取鏡像失敗

[英]Kubernetes Minikube on Windows Pod failed to pull image

我正在嘗試使用 Minikube 和 Hyper-V 在 Windows 上運行 Kubernetes。 我已經成功地使用minikube start --vm-driver=hyperv --hyperv-virtual-switch=KuberNAT成功運行minikube start --vm-driver=hyperv --hyperv-virtual-switch=KuberNAT並檢查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 minikube docker-env | Invoke-Expression minikube docker-env | 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 不知何故不知道在哪里可以找到我的圖像。 有誰知道我怎樣才能讓它工作?

我找到了解決方案,這是一個用戶在這個github 線程中建議的

如果其他人最終出現在此線程上,對我有用的解決方案是更新映像拉取策略,您可以在此處找到有關此的信息。 來自文檔:默認情況下,kubelet 將嘗試從指定的注冊表中提取每個圖像。 您需要更新它,以便它可以在本地查看。

如果您從 CLI 運行,請將 --image-pull-policy=IfNotPresent 添加到您的 kubectl 運行中,即

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

添加--image-pull-policy=IfNotPresent允許我運行容器沒問題。

或者,我通過將驅動程序從 hyperkit 更改為 docker 來開始工作。 似乎 hyperkit 有網絡問題。

minikube start --driver=docker

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM