Невозможно использовать мостовую сеть с узлами EC2 в локальном кластере Kubernetes. - PullRequest
0 голосов
/ 27 марта 2020

Я хочу создать смешанный кластер Kubernetes с несколькими локальными узлами и некоторыми узлами EC2. Мастер находится в локальной сети. Образ docker должен работать в мостовой сети.

Все хорошо с локальными узлами, но модули, запущенные в EC2, не имеют доступа к сети.

Вот пример yaml file:

---
apiVersion: "v1"
kind: "Pod"
metadata:
  labels:
    jenkins: "slave"
  name: "test"
spec:
  containers:
  - image: "my-image"
    imagePullPolicy: "IfNotPresent"
    name: "my-test"
  hostNetwork: false

Если я установлю true для hostNetwork, модули будут запускаться нормально в обеих ситуациях (с доступом к сети), но есть требование к приложению, согласно которому я должен запускать его с мостовой сетью.

kubectl version: 1.13.5
docker version: 18.06.1-ce
k8s network: flannel

Если я запускаю этот образ docker вручную, с мостовой сетью, все хорошо как локально, так и в EC2, сеть доступна. Так что это связано с конфигурацией Kubernetes.

У вас есть идеи?

Спасибо!

1 Ответ

0 голосов
/ 02 апреля 2020

Мне удалось решить эту проблему, добавив следующую строку в файл pod spe c file

dnsPolicy: "Default"

Это наследует конфигурацию разрешения имен от хоста. По умолчанию это установлено в ClusterFirst. Более подробная информация доступна здесь: https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting -dns-from-the-node

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