我正在努力弄清楚如何让这个设置工作:
LoadBalancer服务在kube-system中。kube-system中安装了kube-system,通过Helm安装并使用ClusterIssuerskube-system中安装了kube-system安装程序Ingress对象。cert-manager (certmanager.k8s.io/cluster-issuer: letsencrypt-prod)和external-dns (dns.alpha.kubernetes.io/external: app.contoso.com)的适当注释来注释Ingresses。在这个场景中,cert-manager对Ingress对象做出了适当的反应(修改它以完成ACME挑战),但是external-dns没有做任何事情(日志显示所有主机名都是最新的)。如果我手动为与LB服务相关联的ELB添加一个Route53记录,那么一切都按预期的方式工作。检查Ingress对象时,我看到status块如下所示:
status:
loadBalancer:
ingress:
- {}我想这就是为什么external-dns没有反应吧?我怎么才能让这个起作用?根据文件
更多故障排除信息(pod定义、入口定义、控制器日志等)可以在这里找到:https://gist.github.com/DWSR/f6d596850346223393bec23b289c9731
发布于 2018-04-03 03:59:33
我自己解决了这个问题。nginx入口控制器有一个--publish-service命令行参数,它将导致它更新入口对象上的状态字段,这反过来将导致external-dns创建适当的DNS记录。当通过Helm安装时,只需将.Values.controller.publishService.enabled设置为true,这将生效。
资料来源:
https://stackoverflow.com/questions/49618559
复制相似问题