Harbor部署及问题解决指南

此问题已经不适用当前版本:

证书问题解决请移至:

containerd 对接harbor仓库,证书问题解决_A ?Charis的博客-CSDN博客

首先,我们需要部署Harbor,可以选择使用Helm来进行部署。有关使用Helm部署Harbor的具体步骤,可以通过搜索引擎查找相关教程 

在部署过程中,可能会遇到两个主要的问题:

**问题1:**在Helm中,可以选择让其自动生成一个secret,但这个证书可能无法获得操作系统的信任。可能会出现x509错误。

**问题2:**修改containerd的配置文件,以跳过证书认证,可能无效。

下面是解决这些问题的步骤:

**步骤1:**确保你的hosts或DNS能解析到你的Harbor域名。

**步骤2:**修改containerd配置文件。以下是配置示例:

[plugins."io.containerd.grpc.v1.cri".registry.configs]
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor.k8s.local".tls]
    ca_file = "/etc/containerd/ca/ca.crt" # 使用openssl生成的CA机构的证书
    cert_file = "/etc/containerd/ca/harbor.k8s.local.crt" # 使用openssl生成的harbor证书
    key_file = "/etc/containerd/ca/harbor.com.key" # 使用openssl生成的harbor私钥文件
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor.k8s.local".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."docker.io"]
    endpoint = ["https://mnt026bf.mirror.aliyuncs.com"]
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"]
    endpoint = ["https://registry.aliyuncs.com/k8sxio"]
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors."harbor.k8s.local"]
    endpoint = ["https://harbor.k8s.local"]

需要注意的是,这里的证书和私钥文件必须是由你自己使用openssl生成的。如果你不熟悉如何使用openssl生成证书,可以通过搜索引擎查找相关教程。

完成配置后,需要重启containerd服务。

**步骤3:**使用openssl生成的证书替换掉Harbor部署时自动生成的证书。

如果你不熟悉如何使用Kubernetes的secret生成TLS证书,可以通过搜索引擎查找相关教程。默认的Harbor生成的secret为harbor-ingress,其中有一个属性值为k8s/tls

**步骤4:**配置你的操作系统以信任你自签名的openssl证书。对于CentOS,可以通过以下命令实现:

cp 你的harbor.crt /etc/pki/ca-trust/source/anchors/yourdomain.com.crt
cp 你的ca.crt /etc/pki/ca-trust/source/anchors/yourdomain.com.crt

shell:
update-ca-trust

 

完成以上步骤后,你可以通过以下示例Pod来测试配置是否正确:

apiVersion: v1
kind: Pod
metadata:
  name: harbor-registry-test
  namespace: jenkins
spec:
  containers:
  - name: test
    image: harbor.k8s.local/demo/nginx:v1.0.0
  imagePullSecrets:
  - name: harbor1
  nodeName: k8s-node04

请注意,这个secret应该包含你的Harbor登录密码。在这个示例中,我们指定了nodeName,因为这个操作只在node04上完成,并且在master上成功拉取并运行。

希望这篇指南可以帮助你成功部署Harbor并解决可能遇到的问题。如果你还有其他问题,欢迎随时向我提问。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值