Eu configurei uma instância da origem do Openshift do redhat e às vezes tenho problemas para resolver os domínios de aplicativos individuais do lado de fora.
Eu tenho duas máquinas físicas em execução, ambas com seu próprio endereço IP público. Um é configurado como broker (broker.cloud.example.com), o outro é um nó openshift (node-1.cloud.example.com). Eu instalei a origem do openshift usando a ferramenta oo-install. oo-install estabelece ligação no intermediário.
Os aplicativos estão sendo executados em seu próprio domínio (vamos chamá-lo example-cloud.com), portanto, seus nomes são «app»-«namespace».example-cloud.com
. A ligação no intermediário resolve isso corretamente para CNAME
node-1.cloud.example.com.
. Eu configurei o corretor para ser o servidor autoritativo por exemplo-cloud.com. O corretor NÃO é responsável pela zona example.com ou cloud.example.com.
Na maioria das vezes, essa configuração funciona bem. Às vezes, no entanto, os nomes dos apps não são resolvidos. O que eu descobri usando dig
é que, nesses casos, a consulta (para o servidor DNS do meu provedor) gera o seguinte:
;; ANSWER SECTION:
«app»-«namespace».example-cloud.com. 14400 IN CNAME node-1.cloud.example.com.
Considerando que, no caso normal (quando a resolução funciona bem), a seção de resposta contém uma linha adicional:
;; ANSWER SECTION:
«app»-«namespace».example-cloud.com. 14400 IN CNAME node-1.cloud.example.com.
node-1.cloud.example.com. 14400 IN A x.x.x.x
Quando pergunto diretamente ao corretor, só recebo o primeiro (o que me leva a acreditar que está configurado incorretamente). Se eu ativar consultas recursivas na instância de ligação do intermediário, recebo a última.
Mas eu ouvi que os servidores que respondem a consultas recursivas são perigosos, então eu os desativei novamente (daí minha pergunta sobre as diferenças entre recursivas e encaminhamento ).
Então, acho que minhas perguntas são as seguintes:
Atualizar
Executando oo-accept-broker
nos rendimentos do intermediário
PASS
Vincular arquivos de configuração
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 {x.x.x.x;y.y.y.y;"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