5

我正在开发一个 terraform 模块来创建 GKE 集群。同一模块调用执行helm install应用程序的配置程序。

helm chart 创建负载均衡器。terraform 模块不知道负载均衡器,因此分配的 IP 地址无法在模块中重用。

问题:

如何使用负载均衡器的 IP 创建 DNS 条目并获取证书?

我认为这不是奇特的用例,但我还没有找到一种体面的方法来实现这一点。

4

2 回答 2

4

这个问题的正确答案是:

kubernetes_service的数据源。

数据源的概念正是在这里解决了这个问题。

从上面的 kubernetes_service 数据源中,我还可以运行一个带有 kubectl 查询 ip 的 shell 脚本,并使用外部数据源作为通用解决方案。

从那里我可以使用 dns 提供程序和 acme 提供程序中的 IP 地址来创建 dns 条目和证书。

于 2019-09-13T20:43:37.760 回答
0

在我的情况下,云提供商没有公开,load_balancer_ip所以我必须type: NodePort通过 helm 创建服务并直接通过 terraform 手动创建负载均衡器。

我想这是一个有效的解决方法,如果由于这个特定原因而接受的解决方案不起作用,并且掌舵图提供了将服务部署为不同的type.

于 2022-01-08T00:08:23.500 回答