讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux 下部署 Cert-Manager 自动更新 SSL 证书方案

夏静大大_9183

夏静大大_9183

发布时间:2026-06-13 07:43:19

|

614人浏览过

|

来源于php中文网

原创

cert-manager需部署在Linux主机搭建的Kubernetes集群中,通过Helm安装、配置ClusterIssuer对接Let’s Encrypt,并借助Certificate与Ingress资源实现SSL证书自动签发和续期。

linux 下部署 cert-manager 自动更新 ssl 证书方案

在 Linux 环境下部署 cert-manager 实现 SSL 证书自动更新,核心是将其运行在 Kubernetes 集群中,并对接 Let’s Encrypt 完成 ACME 协议验证、签发与续期。它不直接运行在普通 Linux 服务器上,而是作为 K8s 原生控制器工作——所以“Linux 下部署”实际指在 Linux 主机搭建的 K8s 集群(如 k3s、kubeadm、EKS、阿里云 ACK 等)中安装 cert-manager。

确认前提条件

确保以下基础环境已就绪:

  • Kubernetes 集群正常运行(v1.20+ 推荐),kubectl 可连通集群
  • 有可解析的公网域名(如 dify.example.com),并能指向集群 Ingress Controller 的 LoadBalancer 或 NodePort IP
  • 80 和 443 端口对外可达(HTTP-01 验证必需);若用 DNS-01,需配置对应 DNS 提供商 API 凭据
  • 已安装 Helm v3+(推荐方式)或具备 kubectl 管理权限

通过 Helm 安装 cert-manager(推荐)

这是最稳定、可复现、适合生产的方式:

  • 添加官方仓库:helm repo add jetstack https://charts.jetstack.io
  • 更新本地索引:helm repo update
  • 创建专用命名空间:kubectl create namespace cert-manager
  • 安装(以 v1.14.4 为例,建议查最新稳定版):
    helm install cert-manager jetstack/cert-manager --namespace cert-manager --version v1.14.4 --set installCRDs=true
  • 验证安装:kubectl get pods -n cert-manager,所有 Pod 应为 Running 状态且 READY 1/1

配置 ClusterIssuer 对接 Let's Encrypt

ClusterIssuer 是全局可用的证书签发策略,支持生产(`letsencrypt-prod`)和测试(`letsencrypt-staging`)环境:

保存以下 YAML 为 cluster-issuer.yaml(使用邮箱替换 admin@example.com):

apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
  name: letsencrypt-prod
spec:
  acme:
    server: https://acme-v02.api.letsencrypt.org/directory
    email: admin@example.com
    privateKeySecretRef:
      name: letsencrypt-prod
    solvers:
    - http01:
        ingress:
          class: nginx  # 与你集群中 Ingress Controller 类型一致(如 traefik、alb 等需调整)

执行:kubectl apply -f cluster-issuer.yaml

onewo-rtlinux
onewo-rtlinux

Linux 实时编程助手。生成、审查并修改用于周期性控制任务和中断驱动程序的 C 代码。强制实施实时调度策略。

下载

检查状态:kubectl get clusterissuers.cert-manager.io letsencrypt-prod -o wide,STATUS 应为 Ready。

申请并自动注入证书到 Ingress

以 Nginx Ingress 为例,在应用所在命名空间中创建 Certificate 资源:

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: dify-tls
  namespace: default
spec:
  secretName: dify-tls-secret  # 生成后将自动创建此 Secret
  issuerRef:
    name: letsencrypt-prod
    kind: ClusterIssuer
  dnsNames:
  - dify.example.com
  - www.dify.example.com

同时确保 Ingress 资源引用该 Secret:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dify-ingress
  namespace: default
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
  - hosts:
      - dify.example.com
      - www.dify.example.com
    secretName: dify-tls-secret  # 必须与 Certificate.spec.secretName 一致
  rules:
  - host: dify.example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: dify-service
            port:
              number: 80

cert-manager 会自动完成:DNS 验证 → 向 Let’s Encrypt 申请证书 → 存入 default/dify-tls-secret → Ingress 自动加载新证书。

证书将在到期前约 30 天自动续期,全程无需人工干预。

热门AI工具

更多
墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

383

2023.07.27

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

3067

2023.08.04

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

5605

2023.08.04

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

541

2024.02.23

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1456

2024.07.09

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

3918

2024.08.07

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

122

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

417

2026.01.13

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

120

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kubernetes官方教程手册
Kubernetes官方教程手册

共0课时 | 0人学习

Kubernetes官方中文文档
Kubernetes官方中文文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn