关于使用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命令无法拉取镜像
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2020-07-01 基于Alpine镜像定制自己的工具箱