[英]Cannot get local Kubernetes (minikube) to pull from local Docker registry
[英]Cannot pull image from minikube docker
當我嘗試在集群中運行一個容器時,我收到一條消息“已deployment test created
”,但是當我查看儀表板時,我可以看到它出現錯誤 state( Failed to pull image...
,它無法由於授權問題,從本地 minikube docker 環境中拉取圖像
我的步驟是:
--insecure-registry
開關設置為 10.0.0.0/8,也嘗試了 0.0.0.0/0 - Kube.netes 版本 1.9.0 也嘗試了 1.8.0minikube docker-env | Invoke-Expression
將docker env
設置為 minikube docker | minikube docker-env | Invoke-Expression
kubectl run test --image test-service --port 1101
這是結果:
我錯過了什么?
正如評論中所討論的, openfaas/faas-netes
issue 135 說明了一個類似的問題,並提到了一個可能的解決方案:
imagePullPolicy
如果沒有提到應該默認為Never
而不是Always
。
OP Tim Jarvis意識到:
我意識到這不是身份驗證問題,而是它一直想從外部存儲庫中提取。
我的解決方法是使用imagePullPolicy
的IfNotPresent
。
這也發生在我身上,檢查發送檢索圖像的策略很重要,有些論壇中描述了一些方法,您可以通過如下設置您喜歡的注冊表來啟動您的 minikube,作為路徑。
$ minikube start --cpus 2 --disk-size 50g --memory 5000 --insecure-registry your.registry.com:5000
另一種方法是在 minikube 的開頭通過 docker-env 呈現環境變量,如下所示,並在命令后生成鏡像。
$ eval $(minikube docker-env)
另一種選擇是通過 docker load 將圖像導入到現有的。
在容器定義中設置以下屬性:
imagePullPolicy: IfNotPresent
例子:
...
containers:
- name: podhealthexample
image: podhealth-pod-a:latest
ports:
- containerPort: 80
imagePullPolicy: IfNotPresent
嘗試以下步驟:
eval $(minikube docker-env)
minikube start
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.