美文网首页
872.【kubernetes】如何找到k8s内部拉取的镜像

872.【kubernetes】如何找到k8s内部拉取的镜像

作者: 七镜 | 来源:发表于2023-12-03 07:19 被阅读0次

    一、背景

    1. 最近在第三方部署k8s集群,部分镜像是私有的,又不想重新在第三方搭建私有仓库,于是采取将私有镜像迁移到第三方服务器的方式(nerdctl save 命令)。
    2. k8s pod 内的镜像策略设置为:IfNotPresent,即没有的话,才去拉取。
    3. 结果明明本地有镜像了,k8s还是去下载,这岂不是犟嘛

    二、解决方案

    1. 执行 nerdctl namespace 找到k8s镜像的命名空间
    [root@xxxxx containerd]# nerdctl namespace ls
    NAME           CONTAINERS    IMAGES    VOLUMES    LABELS
    buildkit       0             0         0              
    default        5             12        0              
    k8s.io         20            24        0              
    kube-system    0             2         0 
    

    可以看到,有个叫k8s.io 的命名空间,于是问题迎刃而解,将私有镜像传到这个命名空间中即可。

    1. 执行 nerdctl load -i xxxxxx.tar --namespace k8s.io 将镜像上传到指定的命名空间中。
    2. 完事之后,k8s就不会再去拉取镜像了,因为它已经发现自己所在命名空间已经存在镜像了。

    相关文章

      网友评论

          本文标题:872.【kubernetes】如何找到k8s内部拉取的镜像

          本文链接:https://www.haomeiwen.com/subject/zxmhgdtx.html