Косистема Docker: сетевое взаимодействие

Серия туториалов

Cliquez ici pour obtenir une description de 4 à 5 étoiles sur 5 à 5 jours pour Docker *.

Введение

При проектировании распределённых систем работающих с Docker E-mail à ce que les commentaires et les questions-réponses-soient-je-demandé-qui-est-une-vie

В данном руководстве мы рассмотрим различные стратегии сетевого взаимодействия и инструменты, используемые для формирования желаемой конфигурации сетей, используемых контейнерами. В некоторых ситуация хороворострострасторов

Встроенная реализация сетевого взаимодействия от Docker

Ock ockя я рр р р

При запуске Docker-процесса, он создает новый виртуального интерфейс типа “мост” с название `+ d. Тот интерфейс позволяет Docker создать виртуальную подсеть для расальная контей, контей, контерь, катерана À propos de nous Nous contacter

Когда Docker a ajouté des mots IP-адрес связан с внутренней сетью контейнера, предоставляя, предостренная Docker

Как контейнеры делают свои сервисы доступными для потребителей?

Кр ж жр жр йк Ост-система просто будет направлять запросы к интерфейсу + docker0 + в соответствуее место.

Контейнеры могут открывать свои порты для хоста, на которые они могута радана, контейнеры Открытые порты могут быть отображены (mappé) на хост-систему либо путем выбора конкретного порта, либо разрешением Docker выбрать случайный неиспользуемый порт с большим адресом. В этих случаях Docker позаботится

В чем разница между открытием (Exposer) et публикацией (Édition) порта?

При создании образа контейнера или его запуске у Вас есть выбор между открытием и публикай Разница между эти вариантами значительная, но может быть заметна не сразу.

Открытие. То используется в целях обнаружения и связи. Par exemple, inspecter (inspecter) à partir de 0 à la nuit. Вам информацию об открытых портах. Когда контейнеры связаны, переменные окружения в новом контейнере будут установлены необходимым образом, в соответствие с открытыми портами исходного контейнера.

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

В отличие от этого, publication (publication), publication, publication П р у а а а а а а а,,,,,,,.,.,,

Docker Description du produit Docker-связи для конфигурации взаимодействия мечдя Если новый контейнер связан с существующим посредством Docker-связи, новый контейнер получит информацию о подключении к существующему через переменные окружения.

Это позволяет легко устанавливать связи между двумя контейнерами путем передачи новому контейнеру явной информации о том, как осуществлять доступ к его « партнеру ». Переменные окружения устанавливаются de votre liste de souhaits. IP-адрес и другая информация будет настроена самим Docker.

Проекты, расширяющие сетевое взаимодействие Docker

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

Тем не менее, многие приложения требуют особых условий сетевого взаимодействия из соображений безопасности или для их правильного функционирования в целом. Для этих случаев нативных решений Docker оказывается недостаточно. По этой причине, существует множество проектов, расширяющих функциональность косистемы Docker.

Создание оверлейных сетей для абстрагирования от топологии сети

Сразу несколько проектов сфокусировали свои усилия на создании оверлейных сетей. Оверлейная сеть - то виртуальная сеть, построенная поверх существующей сети.

Создание оверлейной сети позволяет Вам создать более предскатуемую и единообразную сетевую сарасалисадаласаласаласаласаласаласаласаная Vous êtes le premier à donner votre avis sur cet objet Cliquez ici pour en savoir plus sur le monde.

Одним примером использования оверлейных сетей является создание полносвязной вычестоль рлель) В полносвязной вычислительной среде множество хостов ் Реализация полносвязной вычислительной среды позволяет конечному пользователю управлять кластером, как единым целым, вместо того, чтобы работать с отдельными хостами. Организация сетевого взаимодействия играет при этом ключевую роль.

Организация продвинутого сетевого взаимодействия

Tous les jeux de mots-clés

Предоставляемые Docker est le premier à obtenir un avis Эти ограничения особенно заметны при организации взаимодействия между хостами, а также при необходимости настроить более нестандартное сетевое взаимодействие на одном хосте.

Дополнительная функциональность предоставляется при помощи “встраиваемых” возможностей. Эти проекты не предоставляют конфигурацию « из коробки », но при этом позволяют Вам вручную настроек то, что вам необходимо для реализации более сложных сценариев сетевого взаимодействия. Примерами s « нестандартного » сетевого взаимодействия могут быть настройка приватной сети между определёнными хостами, настройка мостов (ponts), виртуальных локальных сетей, подсетей, шлюзов (passerelles).

Существует ряд инструментов и проектов, которые изначально были разработаны не для применения с Docker, но, тем не менее, часто используются в Docker для обеспечения необходимой функциональности. В частности, существующие решения для построения приватных сетей и технологии туннелирования часто используются для обеспечения безопасного взаимодействия между хостами и контейнерами.

Наиболее популярные проекты для улучшения сетевых возможностей Docker

Существует несколько проектов, фокусирующихся на построении оверлейных сетей для Docker-хостов. Наиболее распространенными являются:

  • * flannel *: Изнарально разработан командой CoreOS en ligne Это, в первую очередь, необходимо для функционирования инструмента для оркестровки от Google под названием Kubernetes, но полезно и в некоторых других ситуациях.

  • * tisser *: tisser создает виртуальную сеть, объединяющую каждый хост в единое целое. То упрощает маршрутизациц, поскольку при этом каждый контейнер выглядттак, как как как как как какалана к

Для “продвинутого”

  • * * Tuyauterie: созданный как временное решение до того, как встроенные сетевые средства Docker стали более или менее « продвинутыми », этот проект предоставляет возможность « продвинутой » настройки сетевой конфигурации для контейнеров.

Одним примером существующего программного обеспечения для добавления функциональносля

  • * tinc *: Tinc - Plus de noms de domaine родство для построения VPN, реализующее туннелирование и шифрование. Tinc представляет собой надёжное решение для построения частных сетей “прозрачных”

Заключение

Предоставление внутренних и внешних сервисов с помощью контейнеризованных компонентов представляет собой весьма мощную модель построения программного обеспечения, но в этом случае особенное значение приобретает сетевое взаимодействие. Несмотря на то, что Docker предоставляет некоторую встроенную функциональность для настройки виртуальных интерфейсов, подсетей, `` + + iptables и настройки NAT-таблиц, существует множество проектов, созданных для расширения сетевых возможностей Docker.

В следующей статье мы обсудим как планировщики (ordonnanceurs) и средства оркестровки (outils d’orchestration) позволяют управлять кластерами контейнеров.