Как реализовать конкретный /etc/resolv.conf для проекта Openshift - PullRequest
0 голосов
/ 17 января 2019

У меня есть сценарий использования, когда каждый проект openshift принадлежит собственной VLAN, в которой есть не только узлы Openshift. Каждая VLAN имеет свой собственный независимый DNS для разрешения всех хостов в этой VLAN. В самом кластере Openshift одновременно размещается больше таких VLAN. Чтобы получить разрешение DNS для каждого проекта, элементарно реализовать решение DNS на основе проекта. Есть ли способ изменить файл /etc/resolv.conf модуля в зависимости от проекта Openshift, в котором он работает? Кластер работает на RHEL 7.x, Openshift - 3.11

1 Ответ

0 голосов
/ 17 января 2019

Лично я думаю, что OpenShift не поддерживается конфигурация DNS на project устройство. Но вы можете рассмотреть возможность CustomPodDNS для настройки DNS на Pod устройство. Таким образом, вы можете настроить Pods на использование той же конфигурации DNS в project, используя эту функцию.

  • Вы можете включить функцию CustomPodDNS для кластера OCP, если в /etc/origin/master/master-config.yaml.
kubernetesMasterConfig:
  apiServerArguments:
    feature-gates:
    - CustomPodDNS=true
  controllerArguments:
    feature-gates:
    - CustomPodDNS=true
  • Вы также можете включить эту функцию на одном узле хоста, настроив ее в /etc/origin/node/node-config.yaml.
kubeletArguments:
  feature-gates:
  - CustomPodDNS=true

Вы должны перезапустить соответствующие службы master и node, чтобы изменения вступили в силу.

apiVersion: v1
kind: Pod
metadata:
  namespace: default
  name: dns-example
spec:
  containers:
    - name: test
      image: nginx
  dnsPolicy: "None"
  dnsConfig:
    nameservers:
      - 1.2.3.4
    searches:
      - ns1.svc.cluster.local
      - my.dns.search.suffix
    options:
      - name: ndots
        value: "2"
      - name: edns0
...