Kubernetes-2.镜像

何为容器镜像(Image)?
①容器镜像承载了 封装了应用程序及其所有软件依赖的二进制数据。
②其同时也是可执行的软件包,可以单独运行;
③该软件包对所处的runtime环境具有
Well Defined(无歧义,不会导致矛盾)的假定。

通常创建应用对应的容器镜像后将其推送至仓库,然后在Pod中引用它。

容器镜像中的概念

  1. 镜像名称,
    镜像名称被赋予pause、example/mycontainer、kube-apiserver
    也可以包含仓库所在的主机名,比如 fictional.registry.example/imagename
    也可以包含端口号,fictional.registry.example:10443/imagename
    若不指定主机名,Kubernetes默认使用Docker公共仓库。
    在镜像名称之后可以添加Tag(标签),用于辨识同一镜像序列中的不同版本。若不指定Tag,Kubernetes默认使用latest
    PS:在生产环境中使用latest标签会使得跟踪所运行的镜像版本难度上升,也难以回滚。
    所以一般使用 v1.42.0 这种有意义的TAG

  2. 更新镜像,
    默认的镜像拉取策略:IfNotPresent:镜像已经存在的情况下,kubelet将不再拉取镜像。
    若希望强制总是拉取镜像,可以执行:
    设置容器的imagePullPolicy 为Always

  3. 使用清单(manifest)构建多架构镜像,
    容器仓库不仅提供二进制的镜像,也提供容器镜像清单。Manifest可以为特定于体系结构的镜像版本引用镜像清单。使得在给镜像命名的同时,允许不同的系统基于他们所使用的机器体系取回正确的二进制镜像。
    Kubernetes通常在命名容器镜像时添加后缀 -$(ARCH)
    为了向前兼容,生成较老的镜像时也提供后缀。
    为某镜像生成针对所有平台适用的清单时,生成XXXX-amd64 这类镜像,以便较老的配置文件或者将镜像后缀编码到其中的YAML文件也能兼容

  4. 使用私有仓库
    从私有仓库取镜像时需要密钥。凭证有以下形式:

配置节点向私有仓库进行身份验证
预拉镜像
Pod中设置ImagePullSecrets(只有提供自己密钥的Pod才能访问私有仓库)
特定于厂商的扩展或本地扩展(厂商实现节点向仓库认证的机制)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值