V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
miaosl
V2EX  ›  Kubernetes

本来想用 containerd 部署 k8s 来着,然后发现了点 containerd 强迫症的地方

  •  
  •   miaosl · 114 天前 · 1891 次点击
    这是一个创建于 114 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为之前一次装 k8s 用的是 docker+cri 插件的方法,很简单,也很方便,但是当时也是稀里糊涂的按照网上搜到的教程装的,了解到 containerd 是原生支持 k8s 的不需要安装什么插件,所以我想试试 containerd 。

    然后问题来了,因为我用的源里面实在是没有 containerd ,所以我挂代理用最新的官方源下载的,但是下载完了配置好国内加速镜像之后拉去的时候会提示,直接在配置文件里设置镜像加速这种方法将会在新的版本中废弃,现在是在配置文件中指定路径然后再路径中指定镜像源的信息。

        [plugins."io.containerd.grpc.v1.cri".registry]
          config_path = "/etc/containerd/certs.d"
    

    然后

    [root@harbor containerd]# cat certs.d/hosts.toml 
    server = "https://registry-1.docker.io"
    
    [host."https://registry-1.docker.io"]
      capabilities = ["pull", "resolve"]
      [host."https://registry-1.docker.io".header]
        # Authorization = ["Basic <base64_encoded_auth>"]
      [host."https://registry-1.docker.io".tls]
        insecure_skip_verify = false
      [host."https://registry-1.docker.io".mirrors]
        endpoint = ["https://hub-mirror.c.163.com"]
    

    这样配置好了之后发现,直接 ctr i pull nginx 这样是不行的,得敲完整的名称例如

    ctr image pull docker.io/library/nginx:latest
    

    我就感觉很不适应,明明 docker 得时候直接写镜像名称得时候默认去官网拉最新得那个 这让人很不舒服

    然后问 ai ,ai 说配置成这样(加个[host."docker.io"])

    server = "https://registry-1.docker.io"
    
    [host."https://registry-1.docker.io"]
      capabilities = ["pull", "resolve"]
      [host."https://registry-1.docker.io".header]
        # 如果需要认证信息,可以在这里添加
        # Authorization = ["Basic <base64_encoded_auth>"]
      [host."https://registry-1.docker.io".tls]
        insecure_skip_verify = false
      [host."https://registry-1.docker.io".mirrors]
        endpoint = ["https://hub-mirror.c.163.com"]
    
    [host."docker.io"]
      capabilities = ["pull", "resolve"]
      [host."docker.io".header]
        # 如果需要认证信息,可以在这里添加
        # Authorization = ["Basic <base64_encoded_auth>"]
      [host."docker.io".tls]
        insecure_skip_verify = false
      [host."docker.io".mirrors]
        endpoint = ["https://hub-mirror.c.163.com"]
    

    就能自动把短名称补全成完整得镜像名称,这样就能直接更具名称去官网拉最新得,但是我改了之后还不行,

    然后紧接着我发现个事,就是我啥也不配置也是可以更具完整镜像名称去拉去得

    所以我现在怀疑

    是不是我这里所有得配置其实都没生效啊?!

    所以有懂得老哥么?

    6 条回复    2024-07-30 11:48:43 +08:00
    miaosl
        1
    miaosl  
    OP
       114 天前
    现在问 ai ,gpt4 就跟个弱智一样,重复着让我确定了 n 遍还要确定得配置文件,已经吐了,还是得找一下群里得老大哥给看看
    seers
        2
    seers  
       114 天前 via Android
    请使用 nerdctl 而不是 ctr
    Nazz
        3
    Nazz  
       114 天前
    换 docker 吧, containerd 的配置太傻, 嵌套深了应该使用 yaml 而不是 toml
    miaosl
        4
    miaosl  
    OP
       114 天前
    @seers 感谢老哥指点迷津
    julyclyde
        5
    julyclyde  
       114 天前
    从你工作的过程来看,我觉得你缺乏 linux 使用基础……
    miaosl
        6
    miaosl  
    OP
       114 天前
    @julyclyde 谈不上工作过程把,我刚毕业哥哥,能教导我一下正常的工作过程嘛
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3001 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:05 · PVG 22:05 · LAX 06:05 · JFK 09:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.