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

证书问题解决请移至:

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并解决可能遇到的问题。如果你还有其他问题,欢迎随时向我提问。

GitHub 加速计划 / ha / harbor
23.24 K
4.67 K
下载
Harbor 是一个开源的容器镜像仓库,用于存储和管理 Docker 镜像和其他容器镜像。 * 容器镜像仓库、存储和管理 Docker 镜像和其他容器镜像 * 有什么特点:支持多种镜像格式、易于使用、安全性和访问控制
最近提交(Master分支:1 个月前 )
c5d26723 chore(deps): bump github.com/go-openapi/runtime in /src Bumps [github.com/go-openapi/runtime](https://github.com/go-openapi/runtime) from 0.26.2 to 0.28.0. - [Release notes](https://github.com/go-openapi/runtime/releases) - [Commits](https://github.com/go-openapi/runtime/compare/v0.26.2...v0.28.0) --- updated-dependencies: - dependency-name: github.com/go-openapi/runtime dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: miner <yminer@vmware.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shengwen YU <yshengwen@vmware.com> Co-authored-by: miner <yminer@vmware.com> 14 天前
76624373 chore(deps): bump github.com/coreos/go-oidc/v3 in /src Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) from 3.10.0 to 3.11.0. - [Release notes](https://github.com/coreos/go-oidc/releases) - [Commits](https://github.com/coreos/go-oidc/compare/v3.10.0...v3.11.0) --- updated-dependencies: - dependency-name: github.com/coreos/go-oidc/v3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Shengwen YU <yshengwen@vmware.com> Co-authored-by: miner <yminer@vmware.com> 14 天前
Logo

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

更多推荐