技术笔记分享

镜像拉取策略

Pod镜像拉取策略参数为imagePullPolicy,其值有三个:

  • IfNotPresent:默认值,镜像在宿主机上不存在时才拉取
  • Always:每次创建 Pod 都会重新拉取一次镜像
  • Never: Pod 永远不会主动拉取这个镜像

Pod镜像拉取示例

如果要拉取公开镜像,直接使用下面示例即可,但要拉取私有的镜像,是必须认证镜像仓库才可以,文章末尾讲解拉取私人仓库。

Pod拉取镜像认证方法

如果要拉取私人镜像,则需要与镜像仓库进行认证,即docker login,而在K8S集群中会有多个Node,显然这种方式是很不放方便的!为了解决这个问题,K8s实现了自动拉取镜像的功能。 以secret方式保存到K8S中,然后传给kubelet。

1.生成secret

在集群的主节点上使用 kubectl create 命令来生成secret

kubectl create secret docker-registry aliyun-registry --docker-username=useranme --docker-password=password --docker-server=registry.cn-shanghai.aliyuncs.com

docker-registry:指定生成secret的名称
–docker-username: 指定docker镜像仓库账号
–docker-password: 指定docker镜像仓库密码
–docker-server: 指定docke镜像仓库地址
–docker-email: 指定邮件地址(选填)

2.在配置清单中指定secret
使用参数是 imagePullSecrets,ImagePullSecrets是一个可选的列表,其中包含对同一名称空间中秘密的引用,可用于提取这个PodSpec使用的任何图像。imagePullSecrets下的name参数指定要引用的secrets的名字

3.创建配置清单并查看pod

undefined

发表评论

邮箱地址不会被公开。 必填项已用*标注