我試圖讓Kubernetes從另一個項目的Google Container Registry中下載圖片。按照docs你應該使用創建的圖像上拉的祕密:爲不會過期的谷歌容器註冊表創建圖像拉密?
$ kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
但是我不知道什麼DOCKER_USER
和DOCKER_PASSWORD
我應該使用與谷歌容器註冊認證?縱觀GCR docs它說,密碼是訪問令牌,你可以通過運行得到:
$ gcloud auth print-access-token
這實際工作......一會兒。問題似乎是這個訪問令牌在一小時之後(我相信是)過期了。我需要一個密碼(或者其他東西),在創建我的圖像拉密時不會過期。否則,Kubernetes羣集無法在一小時左右後下載新圖像。什麼是正確的方法來做到這一點?
感謝分享!我非常接近但嘗試使用已存在gcr.io憑據的現有'〜/ .docker/config',但我認爲它們與錯誤的服務帳戶綁定......或其他東西。無論如何,一對夫婦指出:當創建新的服務帳戶(步驟2)時,我不得不選擇一個角色,所以我選擇了似乎已經工作的Project> Viewer。另外,使用'base64'命令,你可以刪除'cat'並添加'-w 0'來避免換行符:'base64 -w 0〜/ docker-config.json' –
另外,看起來他們已經[將祕密類型的名稱從'dockercfg'改爲'dockerconfigjson'](http://kubernetes.io/docs/user-guide/images/),這就是我使用的。我在k8s 1.4.0上。 –
Aand另外一條評論...在第5步中,您遺漏了頂級的「{」auths「:'json鍵。從該文件中刪除換行符也不是必須的,但是您希望縮小docker配置的範圍,使其只需將您想要的權限複製到Kubernetes機密中。 –