首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让外部DNS与Kops AWS1.7 K8s集群中的In匀浆对象一起工作

让外部DNS与Kops AWS1.7 K8s集群中的In匀浆对象一起工作
EN

Stack Overflow用户
提问于 2018-04-02 20:47:17
回答 1查看 1.1K关注 0票数 2

我正在努力弄清楚如何让这个设置工作:

  • 我使用的是AWS中kops公司生产的Kube1.7(无RBAC)
  • 对于整个集群,我有一个nginx入口控制器,它使用通过Helm安装的命名空间LoadBalancer服务在kube-system中。
  • 我在kube-system中安装了kube-system,通过Helm安装并使用ClusterIssuers
  • 我通过Helm在kube-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-managerIngress对象做出了适当的反应(修改它以完成ACME挑战),但是external-dns没有做任何事情(日志显示所有主机名都是最新的)。如果我手动为与LB服务相关联的ELB添加一个Route53记录,那么一切都按预期的方式工作。检查Ingress对象时,我看到status块如下所示:

代码语言:javascript
复制
status:
  loadBalancer:
    ingress:
    - {}

我想这就是为什么external-dns没有反应吧?我怎么才能让这个起作用?根据文件

更多故障排除信息(pod定义、入口定义、控制器日志等)可以在这里找到:https://gist.github.com/DWSR/f6d596850346223393bec23b289c9731

EN

回答 1

Stack Overflow用户

发布于 2018-04-03 03:59:33

我自己解决了这个问题。nginx入口控制器有一个--publish-service命令行参数,它将导致它更新入口对象上的状态字段,这反过来将导致external-dns创建适当的DNS记录。当通过Helm安装时,只需将.Values.controller.publishService.enabled设置为true,这将生效。

资料来源:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49618559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档