关于使用kubeoperator搭建k8s集群使用containerd作为容器运行时,从自己搭建的habor仓库拉取镜像的有关说明

1.kubepi界面添加habor仓库信息,并授权给k8s集群

这一步的操作是当在工作负载选择从harbor仓库拉取镜像时会自动创建有关的secrets信息,从而不用事先手动创建了(有别于kuboard界面操作)

2.只是做好上一步并不能从harbor镜像库拉取镜像,会报错:

x509: certificate signed by unknown authority

原因是harbor配置的自签名的https,需要设置有关证书方面的信息

3.关于containerd设置从harbor拉取镜像,有两种方式

3.1 参考docker方式,创建/etc/containerd/certs.d/registy.myharbor.com目录,在该目录下放置harbor的自签名证书

使用crictl命令拉取镜像进行验证,无法使用,仍会报同样的错误

注意:使用nerdctl命令拉取镜像就可以拉取下来

3.2 直接忽略证书验证

直接编辑containerd配置文件,参考原有写法,增加如下配置:

如下是老版的写法:

    [plugins.cri.registry]
      [plugins.cri.registry.mirrors]
        [plugins.cri.registry.mirrors."registy.myharbor.com"]
          endpoint = ["https://registy.myharbor.com"]
      [plugins.cri.registry.configs]
        [plugins.cri.registry.configs."registy.myharbor.com".tls]
          insecure_skip_verify = true

把cri修改成"io.containerd.grpc.v1.cri"

新版写法:

    [plugins."io.containerd.grpc.v1.cri".registry]
      [plugins."io.containerd.grpc.v1.cri".mirrors]
        [plugins."io.containerd.grpc.v1.cri".mirrors."registy.myharbor.com"]
          endpoint = ["https://registy.myharbor.com"]
      [plugins."io.containerd.grpc.v1.cri".configs]
        [plugins."io.containerd.grpc.v1.cri"."registy.myharbor.com".tls]
          insecure_skip_verify = true

但是,这种方法用nerdctl命令无法拉取镜像

posted @ 2022-07-01 18:18  哈喽哈喽111111  阅读(1139)  评论(0编辑  收藏  举报