K8S 從私有倉庫拉取映象
通常來講,我們在通過公共映象倉庫拉取docker映象的時候,不需要任何的認證操作,但我們在構建了企業的私有映象以後,就不得不在拉取映象之前通過使用者名稱密碼來完成認證。
在docker單機環境中,我們可以直接在宿主機上執行docker login https://myhub.fdccloud.com類似這種命令的方式來完成認證。但在通過kubernetes來對docker做相關叢集管理時,就不得不在所有的節點機上通過上面那種方式完成認證。這在大規模的應用架構中,是不可取的。
當然,我們有另外一種稍微簡便的方法。事實上,在執行docker login https://xxxxx完成認證的時候,實際是在前使用者的家目錄的.docker目錄下生成了一個config.json檔案。我們檢視該檔案的內容如下:
這個檔案包含了認證資訊。所以另一個可行的辦法,就是直接將該檔案通過自動化的方式,推送到所有節點機的相應目錄即可。但在實際的測試中,這種方式推送的節點仍然會偶爾出現認證失敗的情況,具體什麼原因目前尚不清楚。kubernetes提供多種針對私有倉庫認證的方式,在這裡,我只說明其中的一種方法,也是我實際使用的方法,通過k8s的secret來實現。
在k8s master上通過docker login登入registry,生成config.json檔案。然後執行如下命令,將檔案轉換成base64編碼:
建立Secret
作者:
出處:https://www.cnblogs.com/outsrkem/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。