You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Amazon EKS集群无Ingress服务如何获取CA签名证书?

在Amazon EKS集群中为服务获取CA签名证书的方案

问题原因

你通过certificates.k8s.io API生成自签名证书,是因为默认Kubernetes集群使用的是内置自签CA(由kube-controller-manager维护),这类CA未被公共信任机构背书,所以生成的证书自然是自签类型。

可用的CA选项及实现方式

1. AWS Certificate Manager (ACM) 公共/私有证书

这是最适合第三方调用的方案,ACM提供由公共可信CA签名的证书:

  • 公网场景:部署ALB Ingress Controller,将ACM证书关联到Ingress资源,第三方访问服务时会自动验证可信证书,无需额外配置。
  • 私有场景:创建ACM私有证书,将证书导出(仅私有证书支持导出)后,挂载到服务Pod中作为服务的TLS证书使用,同时将ACM私有CA的根证书分发给第三方,让其添加到信任列表。

2. 集群内自定义私有CA(基于cert-manager)

如果需要完全在集群内管理CA生命周期,可使用cert-manager:

  • 先部署cert-manager到EKS集群;
  • 创建ClusterIssuer或Issuer资源,配置为自定义私有根CA(可以是自签根CA,也可以导入外部CA);
  • 提交Certificate资源并指定该Issuer,生成的证书将由自定义私有CA签名,最后把私有CA的根证书分发给第三方即可。

3. Kubernetes集群内置CA(仅适合信任场景)

集群本身的内置CA也可以使用,但需要第三方主动信任:

  • 导出集群根CA证书:执行 kubectl get secret kube-root-ca.crt -o jsonpath='{.data.ca\.crt}' | base64 -d;
  • 将导出的根证书提供给第三方,让其添加到本地信任存储,这样用certificates.k8s.io生成的证书就能被验证通过。但该CA是自签的,仅适合内部协作或已建立信任关系的第三方场景。

内容的提问来源于stack exchange,提问作者ILoveCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 04:26:01