0
点赞
收藏
分享

微信扫一扫

关于使用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命令无法拉取镜像



举报

相关推荐

0 条评论