镜像更新方式
- IfNotPresent 如果不存在就拉取
- Always 或者指定
:latest
拉取最新 - never 使用bending镜像
私有镜像拉取
登录私有仓库保存密钥
- docker login [server] 登录后会更新 $HOME/.docker/config.json
获取主机ip
nodes=$(kubectl get nodes -o jsonpath='{range.items[*].status.addresses[?(@.type=="InternalIP")]}{.address} {end}')
更新~/.docker/config.json
for n in $nodes; do scp ~/.docker/config.json root@$n:/root/.docker/config.json; done
指定ImagePullSecrets 拉取镜像(通用方式)
命令行方式
kubectl create secret docker-registry docker --docker-server=docker.com --docker-username=cdz620@qq.com --docker-password=****** --do
cker-email=cdz620@qq.com
如果超过多个账号使用配置文件方式
详见 Secret
使用ImagePullSecret
apiVersion: v1
kind: Pod
metadata:
name: foo
namespace: awesomeapps
spec:
containers:
- name: foo
image: janedoe/awesomeapp:v1
imagePullSecrets:
- name: myregistrykey
镜像选择使用建议
https://kubernetes.io/docs/user-guide/images/#use-cases
尽量使用公有镜像
不需要配置
使用版权镜像
最好使用imagePullSecrets
网友评论