这个挺有意思的,貌似docker或containerd都不会调用linux的ca-trust,我被这个折腾了很久,怎么都想不到……
因为harbor证书是自签名的,或者本地CA颁发的,需要修改docker或containerd的设置,添加证书,或者允许访问insecure registrys
docker证书位置:
/etc/docker/certs.d/harbor.com:port/harbor.com.cert
/etc/docker/certs.d/harbor.com:port/ca.crt
docker 设置insecure registrys:
sudo bash -c ’cat << EOF > /etc/docker/daemon.json
{
“insecure-registries”: [
“dockerhub.kubekey.local:10443”,
“‘$harborIP’:10443”
]
}
EOF’
containerd 配置文件分v1和v2版本,有区别,具体参考github
https://github.com/containerd/containerd/blob/main/docs/cri/config.md