2016-02-26 86 views
2

我已經設置了OpenShift Origin 1.1.3羣集。現在我從私人註冊表中提取圖片。這個註冊表是'不安全的'。它具有自簽名證書和憑證以進行身份​​驗證。我可以執行docker login並在我的節點上手動提取圖像。從OpenShift上的私人註冊表創建圖像流

問題是隻有那個節點可以訪問圖像。所以,當我擴展我的pod時(基於該映像),所有副本都將在該特定節點上運行。其他節點不能拉出或使用圖像。

所以我要爲我的圖像創建圖像流:

oc import-image --insecure=true ec2-xxx:5000/image 

But:  message: you may not have access to the Docker image "ec2-xxx:5000/image" 
     reason: Unauthorized 

我讀了關於建立一個祕密。我創建它:

oc secrets new-dockercfg mysecret --docker-server=ec2-xxx:5000 --docker-username=*** --docker-password=*** [email protected] 

我該如何將這個祕密添加到我的圖像流?這是正確的做法嗎?

回答

2

@cloudnoob他的回答對我幫助很大。 但主要問題是我以錯誤的方式創造了我的祕密。 我看到這個用記錄級開始OpenShift主後5

Unable to find a secret to match https://ec2-xxx:5000/v2/test/image/manifests/83 

所以我不得不創建我以https祕密(這就是所謂的不安全使用自簽名的證書,但它的使用HTTPS):

oc secrets new-dockercfg mysecret --docker-server=https://ec2-xxx:5000 --docker-username=*** --docker-password=*** [email protected] 

後這一步我不得不執行cloudnoob的步驟。將祕密添加到服務帳戶。之後,進口是成功的。

0

Openshift Origin Doc 要使用一個祕密來拉動豆莢的圖像,您必須將祕密添加到您的服務帳戶。此示例中的服務帳戶名稱應該與pod將使用的服務帳戶的名稱匹配;默認情況下是默認的服務帳戶:

$ OC祕密添加serviceaccount /默認的祕密/ - 用於=拉

要使用推拉構建映像一個祕密,這個祕密必須是一個吊艙內安裝。您可以通過運行做到這一點:

$ OC祕密添加serviceaccount /建設者祕密/

+0

感謝您的回覆。我嘗試過,但我仍然有同樣的問題。我創造的祕密的名字是重要的嗎?我能夠創造這個祕密。將其添加到服務帳戶。但錯誤仍然存​​在(當我創建一個is) – lvthillo

+0

loglevel 5給了我這個:無法找到一個祕密來匹配https:// ec2-xxx:5000/v2/test/image/manifests/83(ec2-xxx:5000/v2/test/image/manifests/83) I0302 07:41:05.054381 37500 importer.go:430]無法訪問存儲庫的標籤「83」 – lvthillo

相關問題