如何正确设置openshift的绑定

我已经设置了一个redhat的Openshift起源的实例,有时有麻烦从外部解决个别应用程序的域名。

我有两台物理机器运行,都有自己的公有IP地址。 一个设置为broker(broker.cloud.example.com),另一个设置为openshift节点(node-1.cloud.example.com)。 我已经使用oo-install工具安装了openshift原点。 oo-install在代理上设置绑定

这些应用程序运行在他们自己的域名上(我们称之为example-cloud.com),因此他们的名字是«app»-«namespace».example-cloud.com 。 代理上的绑定可以正确parsingCNAME node-1.cloud.example.com. 。 我已经build立了经纪人作为example-cloud.com的权威服务器。 经纪人不负责example.com或cloud.example.com区域。

大多数时候这个设置工作正常。 但有时候,应用程序的名称不能解决。 我发现使用dig是,在这些情况下,查询(到我的ISP的DNS服务器)产生以下内容:

 ;; ANSWER SECTION: «app»-«namespace».example-cloud.com. 14400 IN CNAME node-1.cloud.example.com. 

而在正常情况下(解决工作正常时)答案部分包含一个额外的行:

 ;; ANSWER SECTION: «app»-«namespace».example-cloud.com. 14400 IN CNAME node-1.cloud.example.com. node-1.cloud.example.com. 14400 IN A xxxx 

当我直接询问经纪人的时候,我只能得到前者(这导致我相信它的configuration不正确)。 如果我在代理的绑定实例上启用recursion查询,我会得到后者。

但我听说服务器回答recursion查询是危险的,所以我再次禁用它(因此我的问题是recursion和转发之间的区别 )。

所以我想我的问题如下:

  1. 在代理上是否有错误configuration的绑定?
    1. 如果是这样…
      1. 我如何解决它?
      2. 有没有办法让recursion查询* .cloud.example.com,但不是其他域?
      3. 这是一个错误在oo安装?
    2. 如果不…
      1. 可能cloud.example.com的DNS有问题?
      2. 我该如何testing?
  2. 或者,以一种与openshift无关的方式来制定(因为可能有更多的DNS专家比那里的openshift专家):如果一个服务器是一个区域的权威,并且在另一个区域中返回一个CNAME, 是否需要(recursion地)呢

更新

在经纪商收益上运行oo-accept-broker

 PASS 

绑定configuration文件

cat /etc/named.conf

 // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; // NOTE: I've added the public IP addresses of the broker and the node to this list. // This is where I put “any” to “enable recursive queries on the broker's bind instance” (see above) allow-recursion {xxxx;yyyy;"localhost";"localnets";}; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; // set forwarding to the next nearest server (from DHCP response forward only; include "forwarders.conf"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; // use the default rndc key include "/etc/rndc.key"; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; include "/etc/named.rfc1912.zones"; include "example-cloud.com.key"; zone "example-cloud.com" IN { type master; file "dynamic/example-cloud.com.db"; allow-update { key example-cloud.com ; } ; }; // create a place for openshift infrastructure ip/name mapping include "oo_infrastructure.conf"; 

cat /var/named/oo_infrastructure.conf

 // no openshift infrastructure zone