K8s 拉取私有倉庫鏡像方法

一般公司開發的image一般放在私有倉庫,不對外開放。

  1. 在阿里雲創建一個私有鏡像庫,並構建一個image:

registry.cn-shenzhen.aliyuncs.com/koza/test:latest

創建阿里雲鏡像私有倉庫和構建image方法參考:https://dev.aliyun.com/

  1. docker 拉取私有鏡像的方法:

a. 登陸私有倉庫

mac-temp:~ test$ docker login https://registry.cn-shenzhen.aliyuncs.com
Username: user-test
Password: xxxxxx
Login Succeeded
b. 拉取鏡像:

   docker pull registry.cn-shenzhen.aliyuncs.com/koza/test:latest

c. 保存私有倉庫的登陸信息文件位置,如果不logout ,下次拉取鏡像就不再需要輸入賬號和密碼:

    cat ~/.docker/config.json

 這種方式,在kubernetes 中使用deployment定義一個pod,是不能下載鏡像成功的。
  1. 在kubernetes 中拉取私有倉庫:

    a. 創建保存倉庫地址和密碼的secret:

kubectl create secret docker-registry registry-secret --docker-server=registry.cn-shenzhen.aliyuncs.com --docker-username=user-test --docker-password=xxxxxx --docker-email=xxx@xxx.com -n default
--docker-server: 倉庫地址
--docker-username: 倉庫登陸賬號
--docker-password: 倉庫登陸密碼
--docker-email: 郵件地址(選填)
-n 命名空間

b. 在deployment.yml加入拉取鏡像的密鑰:

spec:
  serviceAccountName: test
  imagePullSecrets:
  - name: registry-secret
  containers:
  - name: test
    image: registry.cn-shenzhen.aliyuncs.com/koza/test:latest

imagePullSecrets 定義拉取鏡像使用的secret。

參考:https://kubernetes.io/docs/concepts/containers/images/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章