Назад | Перейти на главную страницу

Как правильно настроить привязку openshift

Я установил экземпляр Redhat's Openshift origin, и иногда у меня возникают проблемы с разрешением доменов отдельных приложений извне.

У меня работают две физические машины, обе со своими общедоступными IP-адресами. Один настроен как брокер (broker.cloud.example.com), другой - узел openshift (node-1.cloud.example.com). Я установил openshift origin с помощью инструмента oo-install. oo-install настроить привязку к брокеру.

Приложения работают в собственном домене (назовем его example-cloud.com), поэтому их имена «app»-«namespace».example-cloud.com. Привязка к брокеру разрешает это правильно, чтобы CNAME node-1.cloud.example.com.. Я назначил брокера авторитетным сервером для example-cloud.com. Брокер НЕ несет ответственности за зону example.com или cloud.example.com.

В большинстве случаев эта настройка работает нормально. Однако иногда названия приложений не совпадают. Что я выяснил с помощью dig в том, что в этих случаях запрос (к 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   x.x.x.x

Когда я спрашиваю брокера напрямую, я получаю только первое (что заставляет меня думать, что он настроен неправильно). Если я включаю рекурсивные запросы в экземпляре привязки брокера, я получаю последнее.

Но я слышал, что серверы, отвечающие на рекурсивные запросы, опасны, поэтому я снова отключил их (отсюда и мой вопрос о различиях между рекурсивной и пересылкой).

Итак, я предполагаю, что мои вопросы следующие:

  1. У меня неправильно настроенная привязка на брокере.
    1. Если так…
      1. как мне это исправить?
      2. есть ли способ разрешить рекурсивные запросы для * .cloud.example.com, но не для других доменов?
      3. это ошибка в oo-install?
    2. Если не…
      1. может быть неисправен DNS для cloud.example.com?
      2. как мне проверить это?
  2. Или, сформулированный независимым от openshift способом (поскольку специалистов по DNS может быть больше, чем специалистов по openshift): если сервер является авторитетным для зоны и возвращает CNAME в другой зоне, нужно ли (рекурсивно) решить это тоже?

Обновить

Бег oo-accept-broker по доходности брокера

PASS

Привязать файлы конфигурации

кот /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