☸️ Kubernetes
Что такое Kubernetes?
Оркестратор контейнеров с открытым кодом. Автоматизирует развертывание, масштабирование и управление контейнеризированными приложениями.
Архитектура Kubernetes: Control Plane.
Узлы управления: <strong>API Server</strong> (входная точка), <strong>etcd</strong> (база данных), <strong>Scheduler</strong> (назначает поды), <strong>Controller Manager</strong> (пподдерживает состояние).
Что такое Worker Node?
Рабочая нода, на которой запускаются приложения. Состоит из Kubelet (агент), Kube-proxy (сеть) и Container Runtime (Docker/containerd).
Что такое Pod?
Минимальная единица K8s. Группа из одного или нескольких контейнеров с общим хранилищем и сетью (один IP-адрес).
Чем Deployment отличается от ReplicaSet?
ReplicaSet следит за количеством копий подов. Deployment управляет ReplicaSet и позволяет делать rolling updates и rollbacks.
Что такое Service?
Абстракция, предоставляющая постоянный сетевой адрес (IP/DNS) для доступа к набору подов. Балансирует нагрузку.
Типы Service: ClusterIP, NodePort, LoadBalancer.
<strong>ClusterIP</strong> (внутренний доступ), <strong>NodePort</strong> (открывает порт на ноде), <strong>LoadBalancer</strong> (создает внешний балансировщик облака).
Зачем нужен Ingress?
Для управления внешним доступом к сервисам по HTTP/HTTPS. Работает как умный роутер (по URL, хосту) и терминирует SSL.
Что такое ConfigMap и Secret?
<span class='code-tag'>ConfigMap</span> хранит конфигурации (env vars, файлы). <span class='code-tag'>Secret</span> хранит чувствительные данные (пароли, ключи) в base64.
Как работает Horizontal Pod Autoscaler (HPA)?
Автоматически увеличивает/уменьшает количество реплик подов в зависимости от нагрузки (CPU, Memory или кастомные метрики).
Что такое Persistent Volume (PV) и Claim (PVC)?
<strong>PV</strong> — кусок хранилища в кластере. <strong>PVC</strong> — запрос на хранилище от пользователя (пода). Разделяет администрирование дисков и использование.
В чем разница StatefulSet и Deployment?
StatefulSet для stateful-приложений (БД). Гарантирует уникальные имена, фиксированный порядок запуска и привязку к тому (диску).
Что такое DaemonSet?
Контроллер, гарантирующий запуск одной копии пода на каждой (или выбранных) ноде кластера. Используется для агентов мониторинга и логов.
Зачем нужен Namespace?
Логическое разделение ресурсов в одном кластере. Позволяет разделять окружения (dev/prod) или команды, устанавливать квоты (Resource Quotas).
Что такое Kubelet?
Агент, работающий на каждой ноде. Следит, что контейнеры в подах живы и работают, и общается с API Server.
Роль etcd в Kubernetes.
Распределенное key-value хранилище. Хранит все состояние кластера. Критически важен для бекапов.
Как выполнить команду внутри контейнера?
<div class='code-block'>kubectl exec -it pod-name -- /bin/bash</div>
Что такое Liveness и Readiness Probes?
Проверки состояния. <strong>Liveness</strong> — перезапускает контейнер, если завис. <strong>Readiness</strong> — убирает из балансировщика, если не готов к приему трафика.
Что такое Helm?
Менеджер пакетов для K8s. Позволяет упаковывать приложения в Charts (шаблоны) и легко устанавливать их одной командой.
Как обновить конфигурацию пода?
Изменение ConfigMap/Secret не перезапускает под автоматически (только если не настроен reload). Изменение Deployment/Env vars пересоздает поды (Rolling Update).