2017-03-02 82 views
3

我已閱讀此question和此one,並使用具有項目:所有者和查看者權限的服務帳戶JSON密鑰爲Google Container Registry創建了我的Kubernetes機密。我還確認,通過轉到控制檯,圖像確實存在於Google Container Registry中。無法將Docker鏡像從Google容器註冊表中移入Kubernetes Pod

我也讀過這document

當我運行:

minikube dashboard 

然後從用戶界面,我點擊 「+」 sybmol,指定我的形象像這樣的網址:

project-123456/bot-image 

然後點擊「高級選項「並指定已導入的祕密。

幾秒鐘後,我看到這個錯誤:

Error: Status 403 trying to pull repository project-123456/bot-image: "Unable to access the repository: project-123456/bot-image; please verify that it exists and you have permission to access it (no valid credential was supplied)." 

如果我看的機密文件(.dockerconfigjson)裏面有什麼,它是這樣的: {「https://us.gcr.io‘:{’電子郵件」:「管理@ domain.com「,」auth「:」longtexthere「}}

可能是什麼問題?

回答

3

的JSON需要有從頂級"{auths": JSON關鍵:

Creating image pull secret for google container registry that doesn't expire?

所以JSON的結構應當像:

{"auths":{"https://us.gcr.io": {"email": "[email protected]", "auth": "longtexthere"}}}

如果您仍然有問題,您也可以下載最新版本的minikube(0.17.1)並運行minikube addons enable registry-creds,並按照提示自動設置您的GCR憑證小號

現在,你應該能夠拉下來使用結構化這樣的YAML從GCR莢:

apiVersion: v1 
kind: Pod 
metadata: 
    name: foo 
    namespace: default 
spec: 
    containers: 
    - image: gcr.io/example-vm/helloworld:latest 
     name: foo 
+0

感謝阿龍。我下載了.17.1,使用GCR啓用了註冊表聲明並導入了JSON密鑰。它報告「registry-creds已成功啓用」,但是當我嘗試使用GCR映像創建部署時,它仍然失敗,並且沒有填充任何新的祕密。 – skunkwerk

+0

確保你沒有得到錯誤: '無法讀取文件application_default_credentials.json' 您也可以驗證一個ImagePullSecret與創建: 'kubectl描述serviceaccount' 還你加GCR前綴到您的圖像?我添加了一個正在處理我的原始答案的示例pod規範。 –

+0

你最終解決了這個問題嗎?如果更簡單,你也可以在github上發佈一個問題:https://github.com/kubernetes/minikube –

相關問題