Kubernetes Pod 鏡像拉取策略


Kubernetes Pod 鏡像拉取策略

官方文檔:https://kubernetes.io/docs/concepts/containers/images/


• IfNotPresent:默認值,鏡像在宿主機上不存在時才拉取
• Always:每次創建 Pod 都會重新拉取一次鏡像
• Never: Pod 永遠不會主動拉取這個鏡像

 

# 查看已創建deployment的拉取策略
kubectl get deploy/nginx-deployment -o yaml | grep imagePull
imagePullPolicy: IfNotPresent

 

認證鏡像倉庫拉取方法

1、Node:修改需要認證的鏡像倉庫

{"insecure-registries": ["需要認證的倉庫地址"]}
vim /etc/docker/daemon.json

2、Node:登錄鏡像倉庫(可提交項目鏡像到私有倉庫)

docker login 鏡像倉庫IP地址

3、Node:查看倉庫docker認證信息、並編碼

cat ~/.docker/config.json | base64 -w 0

4、Master:創建認證yaml文件、 .dockerconfigjson下就是Node config.json的編碼信息

apiVersion: v1
kind: Secret
metadata:
  # 拉取鏡像策略定義名稱
  name: registry-pull-secret
data:
  .dockerconfigjson: ewoJImF1dGhzIjkfldsajkfldsajklfsJKLFJDAKLJKljkJjfkldsjkfdsaJKLFDASLjkljfklJFKDLHASKjkjfLfdsjaklfjdsaklFDSAJKLFDJSAKLFDSAjklfjdsaklf;jdaklfj;dsklajfkldsajfkld;ajkfld==
type: kubernetes.io/dockerconfigjson
vim registry-pull-secret.yaml

下面根據條件完成策略

apiVersion: v1
kind: Pod
metadata:
  name: foo
  namespace: awesomeapps
spec:
  containers:
    - name: foo
      image: janedoe/awesomeapp:v1
      imagePullPolicy: IfNotPresent
修改拉取策略類型
apiVersion: v1
kind: Pod
metadata:
  name: foo
  namespace: awesomeapps
spec:
  containers:
    - name: foo
      image: janedoe/awesomeapp:v1
  imagePullSecrets:
    - name: myregistrykey
進項拉取憑據配置

 


免責聲明!

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



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