Lazy loaded image
Lazy loaded imageCert-Manager自动化Harbor HTTPS证书签发
字数 551阅读时长 2 分钟
2025-4-21
type
status
date
slug
summary
category
tags
create_time
Apr 21, 2025 07:14 AM
icon
password
😀
这是一篇我很早以前在github pages上面发布的文章,因为源码丢失已无法再发布更新了,所以直接迁移到自己的博客站。

📌 前言

在使用 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:
此命令指定默认使用名为 letsencrypt-prod 的 ClusterIssuer 来自动签发证书。

2.创建ClusterIssuer

创建名为 cluster-issuer.yaml 的文件,内容如下:
应用配置:
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 文件,进行如下配置:
上述配置启用了 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 路径下。

🔚 后记

安装完成后,可通过浏览器访问来验证配置是否成功。
 
💡
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
如果文章对您有帮助,请我喝杯咖啡 赏你
 
上一篇
VMware部署无盘系统(PXE+NFS)详细指南
下一篇
解决 Harbor + Cert-Manager 出现 ingress-nginx x509: certificate is valid for ingress.local 错误

评论
Loading...