microk8s署kubenertes,harbor拉取镜像
https使用自签证书
1、首先说下tls或者说是ssl的理解:一般会使用一种非对称方式来传输一些重要的信息或者用于数字签名。非对称算法如rsa,服务端先用openssl生成私钥,用这个私钥生成证书请求,这个证书请求发给权威机构,权威机构会返回带有公钥,且包含客户身份信息的证书。这个证书跟自己的私钥就是一对非对称密钥。
2、当客户端请求时,客户端会把自己支持的算法告诉服务端,服务端返回证书公钥给客户,客户端再把对称密钥通过公钥加密传送给服务端,之后就用对称密钥通信(如果所有信息用非对称传输,性能低),这里涉及到ssl的握手协议。当然服务端也可以请求客户端证书验证客户端。
3、非对称算法还用于数字签名,上面也是一种签名的体现,对服务器的签名,客户端知道服务器所属者,因为通过私钥加密的消息只有公钥能解,反之亦然。
4、关于消息的完整性,在消息通信里会加入MAC(消息验证码)或者对消息进行md5算法,消息接受者使用同样的算法,再比较MAC值或md5值是否相等。

microk8s跟harbor的安装请参考官方文档。
1、使用自签的CA生成公钥,
2、把自签CA根证书(ca.crt)复制到microk8s节点,
3、修改配置文件:/var/snap/microk8s/current/args/containerd-template.toml

 [plugins."io.containerd.grpc.v1.cri".registry]

    # 'plugins."io.containerd.grpc.v1.cri".registry.mirrors' are namespace to mirror mapping for all namespaces.
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
        endpoint = ["https://registry-1.docker.io", ]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."localhost:32000"]
        endpoint = ["http://localhost:32000"]
      [plugins."io.containerd.grpc.v1.cri".registry.mirrors."db.com"]
        endpoint = ["https://db.com"]
    [plugins."io.containerd.grpc.v1.cri".registry.configs]
      [plugin."io.containerd.grpc.v1.cri".registry.configs."db.com".tls]
        ca_file   = "/root/harbor/ca.crt"

笔者这里是https://db.com,ca_file的目录。。。。
重启microk8s
说明containerd-template.toml里的host_name需要跟主机一致。
这样就可通过https方式拉取harbor上的镜像了。

GitHub 加速计划 / ha / harbor
23.24 K
4.68 K
下载
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
最近提交(Master分支:2 个月前 )
9e55afbb pull image from registry.goharbor.io instead of dockerhub Update testcase to support Docker Image Can Be Pulled With Credential Change gitlab project name when user changed. Update permissions count and permission count total Change webhook_endpoint_ui Signed-off-by: stonezdj <stone.zhang@broadcom.com> Co-authored-by: Wang Yan <wangyan@vmware.com> 13 天前
3dbfd422 Signed-off-by: wang yan <wangyan@vmware.com> 13 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐