DNS Java в Куберне - PullRequest
       0

DNS Java в Куберне

0 голосов
/ 04 февраля 2020

Dns java - это реализация DNS в Java. Мы построили некоторые из наших приложений c вокруг него. Просто хотели проверить, будет ли Kubernetes поддерживать интерфейсы DNS на уровне приложения

Ответы [ 3 ]

1 голос
/ 04 февраля 2020

Не совсем уверен, что вы имеете в виду, но Кубернету все равно, что вы на нем запускаете. Ваша рабочая нагрузка - ваша проблема:)

0 голосов
/ 05 февраля 2020

Да - ваше приложение, работающее в Kubernetes, может взаимодействовать с / вызывать Kubernetes DNS , работающее в том же кластере ... если это то, о чем идет речь. : -)

Если у вас есть надлежащий доступ, вы можете настроить DNS в Kubernetes.

Ознакомьтесь с "DNS-политикой Pod" и Раздел «Настройка DNS для Pod» в документации, как настройка полей dnsPolicy и dnsConfig в конфигурации Deployment / Pod позволяет лучше контролировать параметры DNS для Deployment / Pod.

0 голосов
/ 05 февраля 2020

Вы можете настроить свой модуль DNS и настроить процесс разрешения DNS в Kubernetes.

DNS - это встроенная служба Kubernetes, запускаемая автоматически с помощью надстройки кластера администратора дополнений.

CoreDNS - самый популярный DNS-сервер, заменяющий kube-dns.

Развертывание CoreDNS предоставляется в качестве службы Kubernetes со статическим c IP. И CoreDNS, и служба kube-dns называются kube-dns в поле metadata.name. Это сделано для того, чтобы обеспечить большую совместимость с рабочими нагрузками, использующими устаревшее имя службы kube-dns для разрешения адресов внутри кластера. Он абстрагирует детали реализации того, какой DNS-провайдер работает за этой общей конечной точкой. Кублет передает DNS каждому контейнеру с флагом --cluster-dns =.

DNS-именам также нужны домены. Локальный домен в кубеле настраивается с флагом --cluster-domain=<default-local-domain>.

. DNS-сервер разрешает поиск портов, прямой поиск и обратный поиск IP-адресов (записи PTR).

Если dnsPolicy модуля настроен на «по умолчанию», он наследует конфигурацию разрешения имен от узла, на котором работает модуль. DNS-разрешение модуля должно вести себя так же, как и узел. Но смотрите Известные проблемы.

Если вы не хотите этого или если вам нужна другая конфигурация DNS для модулей, вы можете использовать флаг kubelet’s --resolv-conf. Установите этот флаг на «», чтобы блоки не могли наследовать DNS. Задайте для него правильный путь к файлу, чтобы указать файл, отличный от /etc/resolv.conf для наследования DNS.

Для каждого модуля есть возможность установить политики DNS. Kubernetes поддерживает следующие политики DNS:

  • По умолчанию : это значение устанавливается для модулей, которые получают конфигурацию разрешения имен от узла, на котором запущен c модуль.
  • ClusterFirst : это значение задается для любого DNS-запроса, который не соответствует настроенному суффиксу домена кластера, например: www.kubernetes.io
  • ClusterFirstWithHos tNet: это значение устанавливается, если модули работают с hostNetwork
  • Нет : это значение позволяет модулям пропускать настройки DNS в среде Kubernetes. Все настройки DNS должны быть предоставлены с использованием поля dnsConfig в Pod Spe c.

Обратите внимание, что значение «Default» отличается от значения по умолчанию Политика DNS. Если dnsPolicy не указан, то значением по умолчанию для политики DNS является «ClusterFirst» .

Вот пример файла конфигурации модуля со спецификацией c Политика DNS:

apiVersion: v1
kind: Pod
metadata:
  name: dns-example
spec:
  containers:
  - name: dns-test
    image: eg_postgresql:latest
    command:
      - sleep
      - "4000"
    imagePullPolicy: IfNotPresent
    name: eg_postgresql
  restartPolicy: Always
  hostNetwork: true
  dnsPolicy: ClusterFirstWithHostNet

Подробнее здесь: dns-kubernetes , dns-services-pod .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...