Centos 9 Kubernetes 1.28.2 配置 Harbor 2.4.1
说明
由于Kubernetes 1.24 以后使用containerd管理镜像 所以配置信息也和以前不一样 主要在于对containerd配置文件的设置
Harbor安装
修改containerd配置文件
以下192.168.186.132替换为Harbor的域名或IP
修改containerd存在两种修改方法 第一种为添加hosts配置文件 第二种直接修改配置文件 两种修改方法不兼容只能选择一种 推荐第一种
方法1:添加hosts.toml
# 编辑/etc/containerd/config.toml文件,找到 [plugins.“io.containerd.grpc.v1.cri”.registry] 在下方添加
[root@k8s-master ~]# vi /etc/containerd/config.toml
config_path = "/etc/containerd/certs.d"
# 创建目录
[root@k8s-master ~]# mkdir -p /etc/containerd/certs.d/192.168.186.132
# 生成认证参数
[root@k8s-master ~]# echo -n "admin:Harbor12345" | base64
YWRtaW46SGFyYm9yMTIzNDU=
# 添加内容
[root@k8s-master ~]# cat>/etc/containerd/certs.d/192.168.186.132/hosts.toml << EOF
server ="http://192.168.186.132"
[host."http://192.168.186.132"]
capabilities = ["pull", "resolve", "push"]
skip_verify = true
[host."http://192.168.186.132".header]
authorization = "Basic YWRtaW46SGFyYm9yMTIzNDU="
EOF
方法2:修改config.toml方法(此方法不建议使用)
[root@k8s-master ~]# vi /etc/containerd/config.toml
[plugins."io.containerd.grpc.v1.cri".registry]
# config_path不能设置
config_path = ""
[plugins."io.containerd.grpc.v1.cri".registry.auths]
[plugins."io.containerd.grpc.v1.cri".registry.configs]
# 跳过Https验证
[plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.186.132".tls]
insecure_skip_verify = true
# 配置登录信息
[plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.186.132".auth]
username = "admin"
password = "Harbor12345"
[plugins."io.containerd.grpc.v1.cri".registry.headers]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.186.132"]
endpoint = ["http://192.168.186.132"]
重启containerd
systemctl restart containerd
验证配置
# 拉取镜像(kubernetesui/dashboard是harbor的本地镜像)
crictl pull 192.168.186.132/kubernetesui/dashboard:v2.7.0
crictl images