Как определить сеть в Kubernetes - PullRequest
0 голосов
/ 28 февраля 2019

Я запустил образ докера с помощью следующей команды:

sudo docker run -dit --net mynetwork read_and_send_apps_logs:latest

Теперь я использую Kubernetes для запуска образа.Проблема в том, что я не знаю, где определить --net в kubernetes?

Можно ли определить его в развертывании yaml или при запуске $kubectl create -f <...>?

1 Ответ

0 голосов
/ 28 февраля 2019

Kubernetes не имеет той же концепции сетей для каждого приложения.

Если вы просто используете сеть не по умолчанию для разрешения DNS между контейнерами, вам не нужно ничего делать,Убедитесь, что вы создали Сервис для каждого модуля, который получает входящие соединения, и Kubernetes предоставляет свою собственную систему DNS для вас.Вместо имен хостов в стиле Docker containername у Kubernetes есть имена хостов, такие как servicename.namespacename.svc.cluster.local.

. Если вы пытаетесь отделить интерфейс от внутренних служб или других вещей, связанных с несколькими сетями, выможно настроить NetworkPolicy .(Я никогда не чувствовал, что мне это нужно, но понимаю мотивацию.)

Если вы вручную настраиваете IP-адреса или другую конфигурацию очень низкого уровня, не делайте этого.Docker может справиться с этим самостоятельно, и вы не должны напрямую использовать IP-адреса контейнера.Настройка Kubernetes достаточно отличается, так что в любом случае это не очень хорошо.

Если вы используете --net, чтобы один контейнер использовал пространство имен другого, сетевое имя, запуск двух контейнеров в одном модуле может работать для вас.Они будут запланированы на одном узле и будут иметь общую концепцию localhost.

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