Ingress

Ingress - это объект API, который управляет внешним доступом к сервисам в кластере, обычно по протоколам HTTP и HTTPS. Если Service работает на уровне L4 (IP и порты), то Ingress работает на уровне L7 (прикладной уровень), позволяя маршрутизировать трафик на основе доменных имен и путей URL. Как Ingress устроен внутри…

Сервисы Deep Dive

Разберем внутреннее устройство сервисов Kubernetes. Главный секрет в том, что объект Service — это не процесс и не программа, а запись в базе данных, которую считывает специальный агент на каждой ноде. Внутреннее устройство: kube-proxy На каждой ноде кластера работает компонент kube-proxy. Его задача - следить за появлением новых сервисов и эндпоинтов…

Сетевое взаимодействие pod’ов с разных нод

Когда поды находятся на разных нодах, стандартного сетевого моста (L2 Bridge) внутри одной машины уже недостаточно. Пакет должен покинуть физический интерфейс одной ноды и дойти до другой, при этом сохранив уникальность IP-адресов. Сетевая модель: L3 Routing vs Overlay Kubernetes требует, чтобы все поды могли общаться друг с другом напрямую по…

Сетевое взаимодействие pod-ов одной ноды

Сетевая модель Kubernetes строится на принципе «плоской сети». Это означает, что любой под может достучаться до другого пода по его IP-адресу без использования NAT, независимо от того, на одной ноде они находятся или на разных. Ниже разберем, как это реализовано на уровне операционной системы Linux внутри виртуальной машины (ноды). Фундаментальные…

Безопасность Kubernetes: от PSP к Pod Security Admission

Безопасность в Kubernetes постоянно эволюционирует. Одним из самых значимых изменений за последние годы стал полный отказ от Pod Security Policies (PSP) в пользу более простой и надежной системы — Pod Security Admission (PSA). Важное изменение: Лейблы узлов (Node Labels) При настройке размещения подов (например, через nodeSelector) важно помнить, что в новых…

Аутентификация в кластере Kubernetes

Токены для доступа к API Kubernetes До версии 1.22 в Kubernetes автоматически создавались токены для доступа к API Kubernetes. Этот механизм был основан на создании секретов с токенами, которые затем можно было монтировать в работающий pod. В более новых версиях доступ к API получают непосредственно с помощью API TokenRequest…

ConfigMap и Secrets

Управление конфигурациями и безопасностью В современной разработке (IaC — Infrastructure as Code) крайне важно отделять код приложения от его настроек. Kubernetes предоставляет для этого два основных объекта: ConfigMap (для обычных данных) и Secret (для конфиденциальных данных). Эволюция хранения конфигов 1. Простой файл: Раньше настройки хранились прямо в коде или в файле…

Admission Controllers

Стражи порядка в Kubernetes Admission Controllers — это специальные плагины, которые перехватывают запросы к API-серверу Kubernetes. Они вступают в игру сразу после того, как пользователь прошел аутентификацию и проверку прав (RBAC), но до того, как объект будет записан в базу данных кластера (etcd). Как это работает (Схема процесса) Любой запрос на…