k8s使用本地镜像

背景

在机器上使用Dockerfile,打包了自己的镜像,但是没有push到仓库里,想本地直接通过k8s测试一下,但是通过yaml文件创建rc后,一直显示镜像拉取错误。从describe的信息看,k8s一直从远端拉取。

[root@CentOS-7-2 /home/k8s]# kubectl describe pod myweb-2959s
......
  58s		25s		2	{kubelet 127.0.0.1}	spec.containers{myweb}	Normal	      BackOff			Back-off pulling image "myweb8"
  58s		25s		2	{kubelet 127.0.0.1}				Warning	      FailedSync		Error syncing pod, skipping: failed to "StartContainer" for "myweb" with ImagePullBackOff: "Back-off pulling image \"myweb8\""

  1m	10s	3	{kubelet 127.0.0.1}	spec.containers{myweb}	Normal	Pulling		pulling image "myweb8"
  58s	4s	3	{kubelet 127.0.0.1}	spec.containers{myweb}	Warning	Failed		Failed to pull image "myweb8": Error: image library/myweb8 not found
  58s	4s	3	{kubelet 127.0.0.1}				Warning	FailedSync	Error syncing pod, skipping: failed to "StartContainer" for "myweb" with ErrImagePull: "Error: image library/myweb8 not found"

解决方案

实际上,k8s默认会从远端拉取镜像,其配置参数imagePullPolicy为Always。所以,如果yaml文件中没有定义那就是使用默认的,因此我们可以通过将该参数显示设置为Never或者IfNotPresent,k8s就会从本地拉取镜像了。

      containers:
      - name: myweb
        image: myweb-image
        imagePullPolicy: Never
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值