在很多情境下,您需要用到私人鏡像倉庫中的鏡像進行應用的部署,本文介紹如何使用阿里雲鏡像倉庫服務建立一個私人的鏡像倉庫,並且建立一個使用該私人鏡像倉庫的應用。
建立私人鏡像庫
如果您是首次使用阿里雲Container Registry,會彈出提示需要您設定Registry登入密碼,請單擊前往開通,並根據介面提示,設定Registry登入密碼。
在頂部功能表列,選擇所需地區。
在執行個體列表頁面單擊個人版執行個體。
- 在個人執行個體管理頁面選擇。
- 在鏡像倉庫頁面左上方選擇建立鏡像倉庫。
- 在倉庫資訊設定精靈中設定命名空間、倉庫名稱、摘要和倉庫類型,本例選擇私人鏡像倉庫類型。然後單擊下一步。
- 在代碼源設定精靈中,將代碼源設為本地倉庫,然後單擊建立鏡像倉庫。說明 在鏡像倉庫列表下,單擊目標鏡像倉庫的名稱。在基本資料頁面的操作指南頁簽,可以查看如何使用該私人鏡像倉庫。
- 執行以下命令,登入鏡像倉庫。說明
- 如果您使用的是阿里雲帳號,阿里雲帳號就是您的鏡像倉庫登入名稱。
- 如果您使用的是RAM使用者,去掉RAM使用者帳號.onaliyun.com後的名稱就是您的鏡像倉庫登入名稱。例如您的RAM使用者為123@1880770869021234.onaliyun.com,則您的鏡像倉庫登入名稱為123@1880770869021234。
sudo docker login --username=<鏡像倉庫登入名稱> registry.cn-<個人版執行個體所在的地區>.aliyuncs.com返回結果中輸入登入密碼,然後顯示
login succeeded,表示登入成功。 - 執行以下命令,查看鏡像ID。
docker images - 執行以下命令,設定鏡像標籤。
sudo docker tag <鏡像ID> registry.cn-hangzhou.aliyuncs.com/<命名空間名稱>/<鏡像倉庫名稱>:[鏡像版本號碼] - 執行以下命令,推送鏡像至鏡像倉庫。
sudo docker push registry.cn-hangzhou.aliyuncs.com/<命名空間名稱>/<鏡像倉庫名稱>:[鏡像版本號碼]預期輸出:
The push refers to a repository [registry.cn-hangzhou.aliyuncs.com/XXX/tomcat-private] 9072c7b03a1b: Pushed f9701cf47c58: Pushed 365c8156ff79: Pushed 2de08d97c2ed: Pushed 6b09c39b2b33: Pushed 4172ffa172a6: Pushed 1dccf0da88f3: Pushed d2070b14033b: Pushed 63dcf81c7ca7: Pushed ce6466f43b11: Pushed 719d45669b35: Pushed 3b10514a95be: Pushed V1: digest: sha256:cded14cf64697961078aedfdf870e704a52270188c8194b6f70c778a8289**** size: 2836在鏡像倉庫詳情頁,單擊左側導覽列中的鏡像版本,您可以看到鏡像已成功上傳,並可查看鏡像的版本資訊。
建立私人鏡像倉庫登入密鑰類型的密鑰
如果拉取私人鏡像的話,您需要使用私人鏡像倉庫登入密鑰類型的密鑰進行拉取。
在控制台左側導覽列,單擊叢集。
在叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情。
在叢集管理頁左側導覽列,選擇。
- 在保密字典頁面右上方,單擊建立。
- 在建立頁面配置參數,然後單擊確定。
參數 描述 名稱 保密字典名稱。 類型 保密字典類型: - Opaque:一般密鑰類型。輸入鍵、值。值必須使用Base64編碼。
- 私人鏡像倉庫登入密鑰:存放拉取私人倉庫鏡像所需的認證資訊。輸入鏡像倉庫地址及使用者名稱和密碼。說明 使用者名稱和密碼為阿里雲帳號全名和開通服務時所設密碼。您可以在訪問憑證頁面修改密碼。
- TLS認證:TLS是一種用來對身份進行驗證的機制。
- Cert:填寫TLS認證資訊。
- Key:填寫TLS的私密金鑰資訊。
預設返回保密字典頁面,您可看到建立的密鑰出現在列表中。
說明
您也可以通過命令列建立私人鏡像倉庫登入密鑰類型的密鑰,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集。
通過私人鏡像倉庫建立應用
在控制台左側導覽列,單擊叢集。
在叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情。
在叢集管理頁左側導覽列,選擇。
- 在無狀態頁面右上方,單擊使用YAML建立資源。說明 您也可以通過單擊使用鏡像建立來建立應用。請參見使用鏡像密鑰建立應用。
- 將樣本模板設定為自訂,並將以下YAML內容複寫到模板中。
apiVersion: apps/v1 kind: Deployment metadata: name: private-image nameSpace: default labels: app: private-image spec: replicas: 1 selector: matchLabels: app: private-image template: metadata: labels: app: private-image spec: containers: - name: private-image image: registry.cn-hangzhou.aliyuncs.com/命名空間名稱/tomcat-private:latest ports: - containerPort: 8080 imagePullSecrets: - name: regsecret - 單擊建立。返回無狀態應用列表,查看使用私人鏡像倉庫建立的應用。
更多內容請參見Kubernetes官方文檔使用私人倉庫。