问题标签 [external-dns]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
65 浏览

kubernetes - 外部 DNS 使用 cloudflare 注册私有 ip 而不是公共 ip

使用官方 Helm bitnami/external-dns 图表将 External-Dns 部署到我们的 K8 集群后,在 cloudflare 中创建了 dns 记录,但注册的 ip 地址是私有而不是公共 ip。因此,我使用 cert-manager 生成证书也失败了。

Helm 图表:https ://github.com/bitnami/charts/tree/master/bitnami/external-dns Values.yaml 用于 helm 图表

部署后,我可以在日志中看到正在创建记录,但是是私有 ip 而不是公共 ip。日志

入口是从 Rancher->Cluster->Service-Discovery->Ingress 创建的。并且 external-dns 部署在为extenral-dns和创建的新命名空间中cert-manager

Kubernetes集群部署在Rancher中

0 投票
1 回答
41 浏览

amazon-web-services - AWS route53 外部 dns 仅将一条 A 记录指向 (nginx) 入口控制器的 (E)LB

我创建了两个入口,一个用于 Grafana,一个用于我的应用程序。当外部 dns 将它们作为 A 记录写入 route53 托管区域时,其中只有一个(Myapp dns)获得(E)LB 别名(dns),尽管第二个 A 记录将内部 IP 作为 ip 地址获取route53 一条记录。

最大的问题:有没有办法将它们全部设置为相同的别名/或在列表中设置为相同的 elb?为什么默认情况下这样做不成功?

使用:

grafana入口:

我的应用入口

nginx-控制器服务

0 投票
1 回答
49 浏览

amazon-web-services - 如何使用 Ingress Nginx 控制器在内部将流量路由到私有 Pod

问题:我目前在我的 EKS 集群中使用 ingress-nginx 将流量路由到需要公共访问的服务。

我的用例:我想在同一个集群中部署服务,但不希望它们具有公共访问权限。我只希望 pod 与集群内的所有其他服务进行通信。这些 pod 是私有的,因为它们是后端服务,只需要 pod 到 pod 的通信。如何为此目的修改我的入口资源?

集群架构:所有服务都在集群的私有子网中,而负载均衡器在公共子网中

附加说明:external-dns用于为托管区域动态创建子域。托管区域是公共的

谢谢

以下是我的service.ymlingress.yml公共服务。我想为私人服务修改这些文件

服务.yml

入口.yml

0 投票
0 回答
4 浏览

external-dns - 外部 DNS 卡在使用旧入口 IP 删除新和创建 DNS 条目

该策略设置为仅更新插入,这很奇怪。日志说它正在删除条目并添加一个新条目。因此,它正在与新集群上的应用程序新实例争夺记录的真实性。我在旧集群上使用 helm3 uninstall 卸载了应用程序。这个挥之不去的位正在反复降低我们的应用程序。我该如何摆脱它?外部 dns 如何获知新的和已卸载的应用程序?

yaml 配置在这里:

0 投票
0 回答
36 浏览

azure - 如何在 Terraform 中自动添加 kubernetes 客户端密码作为文件挂载?

我正在使用 Terraform 设置外部 DNS。根据文档,我必须手动创建一个azure.json文件并将其挂载为秘密卷。指示还指出:

默认情况下,Azure DNS 提供程序期望配置文件位于 /etc/kubernetes/azure.json

然后我运行kubectl create secret generic azure-config-file --from-file=/local/path/to/azure.json将秘密挂载为文件。

问题是这些值是动态的,我需要根据 CI/CD 管道自动执行此操作。我正在使用 Terraform Kubernetes 资源,在这里我使用了该kubernetes_secret资源。

秘密被挂载,但 pod 永远不会看到它,它会导致 crashLoopBackoff。这可能不是最好的方向。

如何使用 Terraform 自动化此过程并正确安装?

作为参考,这是 YAML 清单的相关部分

0 投票
0 回答
15 浏览

amazon-web-services - 使用 EKS 和 Route53 的外部 DNS 访问私有不起作用

我将 EKS、Route53 和 External-dns 用于我的 DNS 记录。

这是我目前正在使用的 nginx-ingress

我的问题是即使我正在使用这一行:external-dns.alpha.kubernetes.io/access: private

external-dns 将在公共和私有 route53 托管区域中添加记录,如何仅在我的私有区域中保留记录?

目前我发现的唯一解决方法是不将公共区域的权利授予 route53,但这不是一个长期的解决方案。

非常感谢你的帮助 !