kubernetes配置imagePullSecrets秘鑰來拉取鏡像


背景說明:

imagePullSecret資源將Secret提供的密碼傳遞給kubelet從而在拉取鏡像前完成必要的認證過程,簡單說就是你的鏡像倉庫是私有的,每次拉取是需要認證的。

 

配置說明:

①創建docker-registry類型的Secret對象,並在定義pod資源時明確通過"imagePullSecrets"字段來申明使用哪個私鑰去認證;

②創建docker-registry類型的Secret對象,然后把它添加到某個ServiceAccount對象中,使用了這個ServiceAccount對象創建出來的pod就自然而然通過認證獲取到鏡像;

第一種方式較為常見,簡單記錄一下。

 

具體配置:

這里創建Secret對象有兩種方式,各有千秋。

方式一:通過命令行直接創建Secret

kubectl create secret docker-registry <name> --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL

例子:

kubectl create secret docker-registry xxx-key \
    --docker-server=registry.xxxxxx.com \
    --docker-username='xxxxxx' \
    --docker-password='xxxxxx' 

最后在yaml文件中使用這個創建出來的Secret:

apiVersion: v1
kind: Pod
metadata:
  name: foo
  namespace: awesomeapps
spec:
  containers:
    - name: foo
      image: janedoe/awesomeapp:v1
 imagePullSecrets: - name: xxx-key

 

方式二:通過現存的docker認證文件來創建Secret

kubectl create secret generic xxx-key \
    --from-file=.dockerconfigjson=/root/.docker/config.json> \
    --type=kubernetes.io/dockerconfigjson

注意:config.json文件需要在主機上通過docker login 的方式登錄后,才會生成。這種方式有一個好處,就是如果有多個鏡像倉庫,都先存在於一個config.json文件中,然后通過命令打入Secret。

接下來,在yaml文件中引用,同上,略。

 

結束.

 


免責聲明!

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



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