TGViewer
Андрей с кубами | K8s Андрей с кубами | K8s @k8s_and_experts · 36 subscribers
Post #44 10
#глоссарий

В Kubernetes нет встроенной сети. Это может удивить, но оркестратор сознательно оставил этот слой за бортом своей архитектуры. Вместо реализации он определил только требования к сети (модель), а саму реализацию делегировал внешним плагинам по стандарту CNI

Сегодня разберемся, как это всё работает💻

CNI (Container Network Interface) - спецификация (стандарт) и набор библиотек, которые определяют, как программы оркестрации (kubelet*) взаимодействуют с плагинами настройки сети

Проще говроря, это стандартизированный API, через который kubelet говорит плагину что делать (например, «Создай сеть для этого пода» или «Удали сеть у этого пода»)🤝


Под "капотом" это работает так:
• Создаем под

• kubelet вызывает исполняемый файл CNI-плагина (например, /opt/cni/bin/calico) с командой ADD, передавая конфигурацию в формате JSON

• Плагин выполняет свою работу (Создаёт виртуальный сетевой интерфейс (veth pair), один конец veth помещает в network namespace пода (обычно как eth0), второй конец оставляет на хост-ноде, назначает IP-адрес из пула подов и настраивает маршрутизацию (routing table) на хосте)

• При удалении пода kubelet вызывает плагин с командой DEL, и плагин подчищает за собой интерфейсы и маршруты


Любой CNI-плагин обязан обеспечить выполнение этих правил:
• Любой под может общаться с любым другим подом без NAT

• Любой узел (нода) может общаться с любым подом на этом узле (и наоборот) без NAT

• IP-адрес, который под видит у себя внутри, — это тот же IP-адрес, который видят другие поды


Популярные реализации CNI

Flannel (от CoreOS/Kubernetes)
• Как работает: Простой оверлей (обычно VXLAN). Инкапсулирует трафик подов в UDP-пакеты

• Для чего: Обучение, маленькие кластеры, где не нужна сложная маршрутизация или сетевые политики


Calico (от Tigera)
• Как работает: По умолчанию использует BGP для распространения маршрутов между нодами (без инкапсуляции, "native routing"). Также поддерживает VXLAN и eBPF

• Для чего: Продакшен. Золотой стандарт. Даёт мощные Network Policies (файрвол для подов на уровне L3/L4)


Cilium
• Как работает: Построен на базе eBPF (Extended Berkeley Packet Filter) в ядре Linux. Позволяет программировать сеть, безопасность и наблюдаемость напрямую в ядре, минуя традиционный стек iptables

• Для чего: Высоконагруженные системы, кластеры с тысячами сервисов, где критична производительность и нужна глубокая L7-видимость трафика


*Kubelet - основной «агент узла» (node agent), который запускается и работает на каждой ноде (сервере) кластера Kubernetes (получает спецификации подов (PodSpecs) от API-сервера и гарантирует, что описанные в них контейнеры запущены, работают и находятся в исправном состоянии)
More from @k8s_and_experts
  1. Oct 9, 2026Шарарам, дорогие подписчики🥰 Как прошла ваша неделя? Надеемся, вы всё успели и уже отдыха…
  2. Oct 7, 2026Post #43
  3. Oct 6, 2026#глоссарий Тот кто начинал работать с Kubernetes с большой долей вероятности хоть раз заду…
  4. Oct 5, 2026#морнинг_рутин Добрейшего вечерочка, дорогие подписчики👍 Мы знаем, что уже совсем не морн…
  5. Oct 5, 2026Post #39
  6. Oct 5, 2026Post #38
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →