簡體   English   中英

K8S無法從本地存儲庫提取圖像

[英]K8S Failed to pull image from local repo

我在Docker存儲庫中有一個映像。 我試圖從中創建POD,但K8S出現以下錯誤。

無法提取圖像“ cloudanswer:latest”:rpc錯誤:代碼=未知desc =獲取https://registry-1.docker.io/v2/:net / http:請求在等待連接時被取消(Client.Timeout超過了等待標題)

看來K8S正在連接到https://registry-1.docker.io/v2/,而不是從本地docker存儲庫獲取數據。

如何使K8S為本地docker存儲庫拍攝圖像?

Kubernetes支持您可以創建的一種特殊類型的秘密,該秘密將用於獲取Pod的圖像。 在這里更多細節

如果您在集群中使用單個節點 ,請確保該Docker映像在該節點上可用。 您可以通過檢查

docker image ls

還要將imagePullPolicy設置為Never ,否則Kubernetes將嘗試下載圖像。

在多節點群集中 ,可以使用docker 登錄映像 使用本地注冊表:

docker run -d -p 5000:5000 --restart=always --name registry registry:2

現在正確標記圖像:

docker tag ubuntu <dns-name-of-machine>:5000/ubuntu

網絡中的所有節點都應該可以訪問運行注冊表容器的計算機的dns名稱

現在將您的映像推送到本地注冊表:

docker push <dns-name-of-machine>:5000/ubuntu

您應該可以將其拉回:

docker pull <dns-name-of-machine>:5000/ubuntu

現在,將您的yaml文件更改為使用本地注冊表。

應將imagePullPolicy設置為IfNotPresent以從本地docker存儲庫中提取圖像

暫無
暫無

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

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