Нужно ли Kubernetes назначать реальные IP-адреса? - PullRequest
2 голосов
/ 08 ноября 2019

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

Это то, что сетевые администраторы в моей компании должны раздать? Или это внутренний тип IP-адреса, который нельзя адресовать по всей сети?

Я читал о сетевых оверлеях (например, Project Calico), и я предполагаю, что они играют роль в этом, но я не могу показатьсячтобы найти страницу, которая объясняет связь. (Я думаю, что мой вопрос слишком коррективен для интернета.)

Является ли IP-адрес стручка полным IP-адресом в моей сети (так же, как виртуальная машина)?

Ответы [ 2 ]

2 голосов
/ 08 ноября 2019

Кластеры Kubernetes

Является ли IP-адрес модуля полным IP-адресом в моей сети (точно так же, как виртуальная машина)?

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

Ваши узлы могут быть виртуальными или физическими машинами, но они зарегистрированы в NodeController, например, для проверки работоспособности и чаще всего для управления IP-адресами.

Контроллер узла - это главный компонент Kubernetes, который управляет различными аспектами узлов.

Контроллер узла выполняет несколько ролей в жизни узла. Первый - это назначение блока CIDR узлу при его регистрации (если включено назначение CIDR).

Архитектура кластера - узлы

IP-адресmanagement

Сеть Kubernetes Networking зависит от плагина сетевого интерфейса контейнера ( CNI ), используемого вашим кластером.

Плагин CNI отвечает за ... Он должензатем назначьте IP интерфейсу и настройте маршруты в соответствии с разделом «Управление IP-адресами», вызвав соответствующий плагин IPAM.

Обычно каждому узлу назначается диапазон IP-адресов CIDR, которыйЗатем узлы назначаются модулям, которые запланированы на узле.

Обзор сети GKE хорошо описывает, как он работает в GKE.

Каждый узел имеетIP-адрес, назначенный из сети виртуального частного облака (VPC) кластера.

Каждый узел имеет пул IP-адресов, который GKE назначает модулями, работающими на этом узле (блок CIDR / 24 с помощью default).

Каждому модулю назначается один IP-адрес из диапазона CIDR модуля его узла. Этот IP-адрес является общим для всех контейнеров, работающих в модуле, и соединяет их с другими модулями, работающими в кластере.

Каждая служба имеет IP-адрес, называемый ClusterIP, назначенный из сети VPC кластера.

1 голос
/ 08 ноября 2019

Модули Kubernetes получат реальный IP-адрес, например, как у Docker, благодаря сетевому интерфейсу brdige : по-настоящему сложным для понимания является в основном соединение Pod-Pod между различными узлами, и это черная магия , выполняемая через kube-proxy с помощью iptables / nftables / IPVS (в зависимости от того, какой компонент вы используете в узле).

Другая история относительно назначенных IP-адресовк службе типа ClusterIP : фактически это Виртуальный IP , используемый для прозрачного перенаправления на конечные точки при необходимости.

Сеть Kubernetes могла быВыглядит трудно понять, но нам повезло, потому что Тим Хокин выступил с действительно хорошей речью под названием Жизнь пакета , которая предоставит вам четкий обзор того, как он работает.

...