Cert-Manager自动化Harbor HTTPS证书签发

Cert-Manager自动化Harbor HTTPS证书签发
青萍叙事📌 前言
在使用 Harbor 时,建议启用 HTTPS 以确保安全性。然而,配置 HTTPS 证书可能较为繁琐。本文记录了如何通过 Cert-Manager 快速实现证书的自动签发。
🧱 环境
- Kubernetes v1.10.11
- Harbor v1.7.0
- Nginx Ingress Controller v0.21.0
- Helm v2.11.0
Harbor 通过 Helm Chart 部署在 Kubernetes 集群中。Nginx Ingress Controller 使用 Deployment + NodePort 方式暴露 80 和 443 端口。如果集群内的 NodePort 端口受限,无法使用 80 和 443,可采用 DaemonSet + hostNetwork 方式进行负载均衡。
⚙️ 安装步骤
1.安装 Cert-Manager
使用 Helm 从官方 Chart 仓库安装 Cert-Manager:
1 | helm install --name cert-manager --namespace kube-system \ |
此命令指定默认使用名为 letsencrypt-prod 的 ClusterIssuer 来自动签发证书。
2.创建ClusterIssuer
创建名为 cluster-issuer.yaml 的文件,内容如下:
1 | apiVersion: certmanager.k8s.io/v1alpha1 |
应用配置:
kubectl apply -f cluster-issuer.yaml
至此,Cert-Manager 已成功安装并配置完成。
🚢 安装 Harbor
1.下载 Harbor Helm Chart
从官方 GitHub 仓库下载 Harbor Helm Chart 的 Release 版本
2.修改 values.yaml 配置
在下载的 Harbor Helm Chart 目录中,编辑 values.yaml 文件,进行如下配置:
1 | expose: |
上述配置启用了 Ingress,并通过注解指定使用 Cert-Manager 的 letsencrypt-prod Issuer 自动签发 TLS 证书。
3. 安装 Harbor
在 Harbor Helm Chart 目录中,执行以下命令进行安装:
helm install --name harbor .
安装完成后,Cert-Manager 自动签发的证书将挂载到 Pod 的 /var/run/secrets/kubernetes.io/serviceaccount/ca.crt 路径下。
🔚 后记
安装完成后,可通过浏览器访问来验证配置是否成功。














