Перейти к основному контенту
NGPP
Кабинет

Учебный конструктор · Kubernetes углублённо

Kubernetes глубже — Helm, Ingress и операторы

Знаешь Pod и Deployment? Тогда этот конструктор — следующий шаг. 5 разделов: все ресурсы K8s с YAML-примерами и командами, архитектура кластера (интернет → Ingress → Service → Pod), Helm как пакетный менеджер, kubectl cheatsheet с фильтром и стратегии деплоя (Rolling/Blue-Green/Canary).

Не знаком с базами K8s? → начни с конструктора Docker и K8s. Нужен CI/CD поверх K8s? → CI/CD и автоматизация. Незнакомые слова → словарь внизу.

📖 Словарь: простыми словами

Встретил незнакомое слово выше — найди его здесь. Коротко — суть; разверни — подробное объяснение с аналогией.

Control Planeмозг кластера

etcd, API server, Scheduler, Controller Manager — принимают решения и хранят состояние.

Worker Nodeрабочий узел кластера

Машина, на которой запускаются Pod. Содержит kubelet (агент), kube-proxy (сеть) и container runtime (containerd).

Namespaceвиртуальная изоляция внутри кластера

Логическое разделение кластера на группы. Один кластер может использоваться разными командами через namespace.

Label / Selectorметки для выбора объектов

Labels — пары ключ:значение на ресурсах. Selector — фильтр по labels. Service находит Pod по selector, не по имени.

Reconciliation loopмеханизм выравнивания desired → actual

K8s постоянно сравнивает желаемое состояние (spec) с реальным (status) и исправляет расхождения. Это делает K8s самовосстанавливающимся.

etcdбаза данных состояния кластера

Distributed key-value store, где K8s хранит всё: Pod, Service, ConfigMap, Secret. Потеря etcd = потеря кластера. Бэкапы критичны.

CNI (Container Network Interface)плагин сети для Pod

Интерфейс для сетевых плагинов (Cilium, Calico, Flannel). Отвечает за выдачу IP Pod, маршрутизацию, NetworkPolicy.

CRI (Container Runtime Interface)интерфейс для запуска контейнеров

K8s не запускает контейнеры сам — через CRI делегирует containerd/CRI-O. Docker в K8s deprecated с 1.20.

Taint / Tolerationпометить узел как нежелательный для подов

Taint отпугивает Pod с узла. Toleration позволяет Pod терпеть taint. Используется для выделенных GPU-узлов, control-plane.

Affinity / Anti-affinityпредпочтения размещения подов

nodeAffinity — на каких узлах. podAntiAffinity — не рядом с другими Pod того же сервиса (HA). podAffinity — рядом (минимизация задержки).

KEDAмасштабирование по внешним событиям

Kubernetes Event-Driven Autoscaling: HPA по метрикам очереди (RabbitMQ, Kafka), API-запросам и другим внешним источникам.

GitOpsGit как единственный источник истины конфигурации

Состояние кластера описано в Git. ArgoCD/Flux следят и автоматически синхронизируют кластер с репозиторием. PR = деплой.

Дальше по теме

Эти инструменты связаны с текущим — так задачи стыкуются на практике.

Все инструменты — в каталоге.