我试图弄清楚如何让这个设置工作:
- 我正在使用从 AWS 中的 kops 推出的 Kube 1.7(无 RBAC)
- 我的整个集群有一个 nginx 入口控制器,它使用通过 Helm 安装的命名空间
LoadBalancer
中的服务kube-system
- 我已经
cert-manager
设置kube-system
,通过 Helm 安装并使用ClusterIssuers
- 我已经通过 Helm 安装
external-dns
了kube-system
- 我有多个应用程序,每个命名空间一个,每个命名空间中都有关联
Ingress
的对象。 - 我正在使用
cert-manager
(certmanager.k8s.io/cluster-issuer: letsencrypt-prod
) 和external-dns
(dns.alpha.kubernetes.io/external: app.contoso.com
)的适当注释来注释 Ingress
在这种情况下,cert-manager
正在对对象做出适当的反应Ingress
(修改它以完成 ACME 质询),但external-dns
没有做任何事情(日志显示所有主机名都是最新的)。如果我为与 LB 服务关联的 ELB 手动添加 Route53 记录,一切都会按预期工作。检查 Ingress 对象,我看到状态块如下所示:
status:
loadBalancer:
ingress:
- {}
我想这是为什么external-dns
没有反应?我怎样才能让它工作?根据文档
更多故障排除信息(pod 定义、入口定义、控制器日志等)可以在这里找到:https ://gist.github.com/DWSR/f6d596850346223393bec23b289c9731