k8s使用需認證的私服倉庫


本文內容

在K8s中使用需認證的私服倉庫需要導入認證信息到集群中,常規導入方式有兩種:

  • 使用Docker已登錄的倉庫密文導入
  • 使用命令行創建Secret對象導入

本文介紹的就是以上兩種方法。

使用Docker已登錄的倉庫密文導入

1、docker login登錄私服倉庫,輸入賬號密碼

docker login <私服倉庫地址>

2、登錄成功后,檢查是否生成 docker 認證配置文件(生成在當前登錄用戶家的.docker目錄下)

cat ~/.docker/config.json

3、通過 ~/.docker/config.json創建Secret對象導入集群

kubectl create secret generic <secret-name> \
--from-file=.dockerconfigjson=~/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
  • secret-name:k8s Secret的名稱標識字段

還有更復雜的方式,請參考官方文檔

使用命令行創建Secret對象導入

替換參數並執行

kubectl create secret docker-registry <secret-name> --docker-server=<your-registry-server> --docker-username=<docker-username> --docker-password=<docker-password> --docker-email=<your-email>
  • secret-name:k8s Secret的名稱標識字段
  • your-registry-server:私服docker倉庫地址
  • docker-username:docker登錄用戶
  • docker-password:docker密碼
  • your-email:郵件地址

查看Secret創建情況

kubectl get secret

使用集群中的Secret拉取鏡像

以Pod模板舉例:

test-private-registry.yaml

apiVersion: v1
kind: Pod
metadata:
  name: test-private-registry
spec:
  containers:
  - name: private-reg-container
    image: <your-registry-server>/tomcat:8.5.34-alpine
  imagePullSecrets:
  - name: <secret-name>

注意:在spec中指定imagePullSecrets的name為之前Secret的名稱即可

kubectl apply -f test-private-registry.yaml


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM