【问题标题】:EKS - Multiple certificates to one ingress-nginxEKS - 一个入口-nginx 的多个证书
【发布时间】:2021-10-30 19:54:04
【问题描述】:

EKS 集群中部署了一些应用程序,我正在尝试使用 Route53Certificate Manager (HTTPS) 管理自定义域 (DNS)。我已经部署了 ingress-nginx 来将 dns 和路径映射到正确的 pod。

基本上,有一些客户端/pods 使用自定义域,而其他客户端使用公司域,例如:

  • https://clientA .mycompany.com
  • https://clientB .mycompany.com
  • https://clientW customdomain.com

如下图所示,要将 1 个服务固定为 1 个证书 (1:1),我们需要按域(.mycompany.com 和 customdomain.com)创建一个入口代理组。

有什么问题?每个客户端的自定义域都不同(例如:carsAcompany.com、frigeratorsBcompany.com...)所以我们需要为每个客户端创建 ingress-nginx,除了 *. mycompany.com,我认为这不是一个好习惯。

我的想法是......我正在使用 Kubernetes 提供的 ingress-nginx (https://kubernetes.github.io/ingress-nginx/deploy/),但是,是否有替代插件/入口允许多个证书进入同一个服务?还是同一个ingress-nginx可以使用多个证书?

【问题讨论】:

  • 您使用的是哪个版本的 Kubernetes?我找到了this topic。有用吗?

标签: kubernetes ssl-certificate kubernetes-ingress amazon-eks nginx-ingress


【解决方案1】:

我遇到过这个问题,我解决它的方法不是很好,但它确实对我有用并且我很满意。

在我们公司,我们使用 Vault 进行秘密管理,但我们使用 ACM 进行证书。正如我们所知,nginx 入口控制器仅支持在其上配置 1 个 ACM 证书。因此,我没有在入口控制器服务上使用 ACM 证书,而是使用 Vault 创建了创建的证书(Vault 可以充当它自己的 CA)。

现在我将这些证书作为机密导出到 k8s 中,并在每个应用程序的入口资源上定义它们。因此,通过这种方式,我可以使用 nginx 入口控制器为每个应用程序拥有一个唯一的证书。

【讨论】:

  • 感谢@YYashwanth 的回复。您是否也使用 Vault 作为 CA?因为我使用在 ACM 中创建的证书作为 AWS 作为 CA。
  • @user1911 是的。我使用 Vault 作为 CA。只要我们可以导出证书,就可以使用 ACM 作为 CA。我认为如果我们有私有 CA,我们可以导出证书。
猜你喜欢
  • 2018-05-03
  • 2020-02-26
  • 2021-05-08
  • 2021-10-20
  • 2018-11-08
  • 1970-01-01
  • 2021-12-02
  • 2021-10-03
  • 1970-01-01
相关资源
最近更新 更多