使用 Kubernetes 和 Helm 设置多个 TLS 证书和域

时间:2021-01-27 23:03:20

标签: ssl kubernetes kubernetes-helm

这个问题更多的是给我一些关于如何解决问题的一般方向,而不是问题的具体解决方案。

我有一个可用的 kubernetes 集群,它使用 nginx 入口作为通往外界的大门。现在一切都在 minikube 上,但最终目标是将其最终迁移到 GKE、EKS 或 AKS(适用于需要我们软件的本地客户)。

为此,我将使用舵图来参数化设置资源所需的 yaml 文件和 ENV 变量。我将继续使用 nginx 作为入口,以避免维护 alb 入口或其他特定于云的入口控制器。

我的问题是: 我不确定如何管理 TLS 证书,以及如何将入口指向公共域以供人们使用。

我想要一些关于如何解决这个问题的一般指导。 TLS 证书是用户可以在配置之前提供给掌舵图的东西吗?我在哪里可以看到这个的小例子。最后,是掌舵图的领域职责吗?或者这是必须在 DNS 提供(Route53)上设置的东西。有没有你可以建议我看看的例子?

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用 Helm 安装证书完全没问题,只要确保您不会不小心将证书放入公共 Git 存储库。最佳做法是仅将这些证书放在本地笔记本电脑上并添加到 .gitignore。之后,您可以告诉 Helm 从其目录中grab 那些证书。

关于 DNS - 您可以使用 external-dns 让 Kubernetes 为您创建 DNS 记录。您首先需要将 external-dns 与您的 DNS 提供商集成,然后它会监视域名的入口资源并自动创建它们。