ALB Ingress与cert-manager实现K8s证书自签方案
1. 项目背景与核心价值在云原生架构中Ingress作为Kubernetes集群的入口网关承担着流量路由和负载均衡的重要职责。阿里云ALB Ingress是基于阿里云应用型负载均衡(ALB)实现的Ingress控制器相比传统的Nginx Ingress具有更高的性能上限和更丰富的路由能力。而cert-manager作为Kubernetes生态中广泛使用的证书管理工具能够自动化证书的签发、续期和部署流程。将两者结合实现证书自签的方案主要解决以下痛点问题传统手动申请和部署SSL证书效率低下无法适应敏捷开发需求证书过期导致的业务中断风险长期存在在混合云或多集群环境下难以统一管理证书生命周期对Lets Encrypt等免费CA的依赖可能带来速率限制问题2. 环境准备与前置条件2.1 基础环境要求已部署的Kubernetes集群ACK或自建集群均可集群版本不低于1.16支持cert-manager v1.0已安装并配置kubectl和helm工具阿里云账号开通ALB服务权限已备案的域名用于证书签发2.2 网络拓扑规划建议在实际部署前建议规划好以下网络配置VPC网络划分确保ALB实例与工作节点网络互通安全组规则开放ALB所需的80/443端口域名解析准备测试用的子域名如test.example.com节点资源至少2个4核8G的工作节点重要提示生产环境建议为ALB Ingress单独规划一个专有VPC避免与其他服务产生网络冲突3. 组件安装与配置3.1 安装ALB Ingress Controller使用Helm进行安装是最佳实践helm repo add alibaba https://aliacs-app-catalog.oss-cn-hangzhou.aliyuncs.com/charts helm install alb-ingress alibaba/alb-ingress-controller \ --set clusterNamemy-cluster \ --set regionIdcn-hangzhou \ --set vpcIdvpc-xxxxxx \ --set zoneMappingsvsw-xxxxxx:cn-hangzhou-b \ --namespace kube-system关键参数说明regionId: 必须与集群所在地域一致vpcId: 通过阿里云控制台获取zoneMappings: 指定虚拟交换机与可用区的映射关系clusterName: 自定义的集群标识符安装后验证kubectl get pods -n kube-system | grep alb-ingress3.2 部署cert-manager推荐使用cert-manager v1.7版本helm repo add jetstack https://charts.jetstack.io helm install cert-manager jetstack/cert-manager \ --namespace cert-manager \ --create-namespace \ --version v1.7.1 \ --set installCRDstrue验证安装kubectl get pods -n cert-manager4. 自签名证书配置4.1 创建根CA证书首先生成自签名的根CAopenssl genrsa -out ca.key 2048 openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.crt \ -subj /CNmy-root-ca4.2 创建Cert-Manager Issuer将CA证书存入Kubernetes Secretkubectl create secret tls my-ca-key-pair \ --certca.crt \ --keyca.key \ --namespacecert-manager创建ClusterIssuer资源apiVersion: cert-manager.io/v1 kind: ClusterIssuer metadata: name: my-selfsigned-issuer spec: ca: secretName: my-ca-key-pair验证Issuer状态kubectl get clusterissuer my-selfsigned-issuer -o wide5. ALB Ingress集成配置5.1 创建证书请求定义Certificate资源apiVersion: cert-manager.io/v1 kind: Certificate metadata: name: demo-certificate namespace: default spec: secretName: demo-tls-secret duration: 2160h # 90天 renewBefore: 360h # 15天前开始续期 issuerRef: name: my-selfsigned-issuer kind: ClusterIssuer commonName: test.example.com dnsNames: - test.example.com5.2 配置Ingress资源创建带TLS的IngressapiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: demo-ingress annotations: alb.ingress.kubernetes.io/certificate-id: auto alb.ingress.kubernetes.io/ssl-policy: TLS_1_2 spec: ingressClassName: alb tls: - hosts: - test.example.com secretName: demo-tls-secret rules: - host: test.example.com http: paths: - path: / pathType: Prefix backend: service: name: demo-service port: number: 80关键注解说明certificate-id: auto: 启用自动证书发现ssl-policy: 指定TLS协议版本ingressClassName: alb: 指定使用ALB控制器6. 高级配置与优化6.1 证书轮换策略通过修改Certificate资源实现spec: rotationPolicy: Always privateKey: rotationPolicy: Always algorithm: RSA size: 20486.2 ALB性能调优在Ingress注解中添加annotations: alb.ingress.kubernetes.io/load-balancer-spec: slb.s2.medium alb.ingress.kubernetes.io/connection-idle-timeout: 60 alb.ingress.kubernetes.io/health-check-enabled: true6.3 多证书支持可以为同一个Ingress配置多个TLS证书tls: - hosts: - test1.example.com secretName: cert1 - hosts: - test2.example.com secretName: cert27. 监控与运维7.1 证书状态监控查看证书状态kubectl get certificate -w7.2 事件排查查看cert-manager日志kubectl logs -n cert-manager deploy/cert-manager查看ALB控制器日志kubectl logs -n kube-system deploy/alb-ingress-controller7.3 证书过期告警配置Prometheus监控规则- alert: CertificateExpiringSoon expr: certificate_expiration_timestamp_seconds - time() 86400 * 15 for: 5m labels: severity: warning annotations: summary: Certificate expiring soon (instance {{ $labels.instance }}) description: Certificate {{ $labels.name }} will expire in {{ $value | humanizeDuration }}8. 常见问题与解决方案8.1 证书签发失败可能原因及解决方案Issuer配置错误检查ClusterIssuer状态是否为Ready验证CA证书Secret是否存在且有效DNS解析问题确保域名解析已指向ALB实例IP检查网络策略是否允许外部访问资源配额不足检查cert-manager Pod资源限制查看ALB实例规格是否满足需求8.2 ALB无法关联证书排查步骤检查Ingress事件kubectl describe ingress demo-ingress验证Secret是否存在kubectl get secret demo-tls-secret检查ALB控制台证书列表8.3 证书续期异常处理方法手动触发续期kubectl annotate certificate demo-certificate cert-manager.io/force-renewaltrue检查cert-manager日志中的续期事件验证新证书是否已同步到ALB9. 安全最佳实践CA私钥保护将根CA私钥存储在安全的密钥管理系统限制对cert-manager命名空间的访问权限证书策略设置合理的证书有效期建议不超过90天启用自动轮换rotationPolicy: Always网络隔离为cert-manager组件配置网络策略限制ALB Ingress控制器的API访问权限审计日志开启cert-manager的审计日志定期检查证书签发记录

相关新闻

Python/JS/C#猜数字游戏实现:多语言控制台编程核心对比

Python/JS/C#猜数字游戏实现:多语言控制台编程核心对比

1. 项目概述:从“猜数字”窥探多语言控制台编程最近在带新人,发现很多朋友在学完一门编程语言的基础语法后,面对“如何用代码解决一个实际问题”时,常常会感到无从下手。他们不缺语法知识,缺的是一个能将零散知识点串联…

2026/7/26 8:00:45阅读更多 →
世界上第一台配备以太网和激光打印机的个人电脑!

世界上第一台配备以太网和激光打印机的个人电脑!

施乐Alto个人电脑在很多方面都是首创。 它是第一台配备图形界面和桌面电脑的个人电脑。 即使是新手也能轻松操作。 此外,它还是第一台内置以太网和激光打印机的电脑。 Alto在当时是一款革命性的系统——这款个人电脑于1973年上市。 施乐公司生产了大约2000台这…

2026/7/26 8:00:45阅读更多 →
C++新手入门实战指南:从环境配置到核心概念与项目思维

C++新手入门实战指南:从环境配置到核心概念与项目思维

1. 从“Hello World”到构建思维:C新手入门的核心路径如果你刚打开Visual Studio Code,对着一个空白的.cpp文件发呆,或者被“指针”、“面向对象”这些词搞得晕头转向,那么你来对地方了。C常被描述为一门“强大而复杂”的语言&…

2026/7/26 8:00:45阅读更多 →
智能交通系统架构设计与AI算法实践

智能交通系统架构设计与AI算法实践

1. 智能交通系统的时代挑战与机遇 每天早高峰时段,城市主干道上排成长龙的车流已经成为现代都市的常态。根据最新统计数据,大城市通勤者每年平均要花费超过160小时在堵车中,相当于整整20个工作日被白白浪费在方向盘前。这种低效不仅造成巨大的…

2026/7/26 9:25:07阅读更多 →
显卡驱动彻底清理终极指南:5步解决Windows驱动残留问题

显卡驱动彻底清理终极指南:5步解决Windows驱动残留问题

显卡驱动彻底清理终极指南:5步解决Windows驱动残留问题 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstaller…

2026/7/26 9:25:07阅读更多 →
ComfyUI-Manager终极指南:5分钟学会安装和管理AI绘画工作流插件

ComfyUI-Manager终极指南:5分钟学会安装和管理AI绘画工作流插件

ComfyUI-Manager终极指南:5分钟学会安装和管理AI绘画工作流插件 【免费下载链接】ComfyUI-Manager ComfyUI-Manager is an extension designed to enhance the usability of ComfyUI. It offers management functions to install, remove, disable, and enable vari…

2026/7/26 9:25:07阅读更多 →
3分钟搞定视频硬字幕提取:本地AI工具让你轻松获得可编辑字幕

3分钟搞定视频硬字幕提取:本地AI工具让你轻松获得可编辑字幕

3分钟搞定视频硬字幕提取:本地AI工具让你轻松获得可编辑字幕 【免费下载链接】video-subtitle-extractor 视频硬字幕提取,生成srt文件。无需申请第三方API,本地实现文本识别。基于深度学习的视频字幕提取框架,包含字幕区域检测、字…

2026/7/26 9:25:07阅读更多 →
如何一键备份你的QQ空间历史记录:GetQzonehistory完整指南

如何一键备份你的QQ空间历史记录:GetQzonehistory完整指南

如何一键备份你的QQ空间历史记录:GetQzonehistory完整指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 在数字时代,我们的社交记忆弥足珍贵。你是否担心多年积…

2026/7/26 9:25:07阅读更多 →
终极指南:3步轻松解密网易云音乐NCM文件,实现音乐播放自由

终极指南:3步轻松解密网易云音乐NCM文件,实现音乐播放自由

终极指南:3步轻松解密网易云音乐NCM文件,实现音乐播放自由 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式音乐无法在其他播放器使用而烦恼吗?ncmdump解密工具是你的…

2026/7/26 9:23:07阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/26 0:01:28阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/26 0:01:28阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/26 0:01:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/25 23:03:25阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/25 19:03:04阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/25 19:03:04阅读更多 →