99. Источники, версии и состояние возможностей
Незнакомый термин? Откройте словарь Kubernetes и терминов курса.
Сведения об исследовании
- Дата доступа и сверки: 2026-07-29.
- Последняя стабильная версия Kubernetes на эту дату: v1.36.2, выпущена 2026-06-09.
- Поддерживаемые основные ветки: 1.36, 1.35, 1.34.
- Локальный инструмент: kind v0.32.0, выпущен 2026-06-02.
- Выбранный образ узла: Kubernetes v1.36.1:
kindest/node:v1.36.1@sha256:3489c7674813ba5d8b1a9977baea8a6e553784dab7b84759d1014dbd78f7ebd5. - Базовая версия клиента:
kubectl v1.36.2; с API v1.36 совместима по правилу ±1 версия. - Подтверждённое окружение создания: Ubuntu 24.04.3 LTS, ядро
6.8.0-88-generic, x86_64. Инструменты Kubernetes и контейнеров отсутствовали, поэтому проверка в работающем кластере не заявлена.
Версии — снимок состояния, а не вечная рекомендация. Перед выполнением после этой даты снова откройте страницы выпусков, исправляющих версий и совместимости, примечания к выпуску kind и документацию целевого провайдера.
Таблица совместимости версий
По официальной политике на дату доступа:
| Пара | Поддерживаемое правило |
|---|---|
| Серверы API с HA | самая новая и старая версии различаются не более чем на одну ветку |
| kubelet → сервер API | kubelet не новее; до 3 версий старее |
| kube-proxy → сервер API | не новее; до трёх версий старее, плюс ограничения локального kubelet |
| контроллер, scheduler, облачный контроллер → API | не новее; ожидается та же версия, допустима на одну версию старее |
| kubectl ↔ сервер API | клиент на одну версию старее, равен или на одну новее |
Серверы API разных версий сужают допустимое пересечение. При обновлении плоскости управления нельзя пропускать промежуточные версии. Конкретный управляемый провайдер или инструмент развёртывания может разрешать меньше.
Первичный источник: правила совместимости версий (доступен/проверен 2026-07-29).
Матрица возможностей для выбранной версии
Стабильный статус/GA относится к API или возможности Kubernetes, но не гарантирует наличие реализации, дополнения или провайдера. «Внешнее» означает, что базовый кластер не устанавливает зависимость.
| Возможность или API | Статус в v1.36 | Решение курса или оговорка | Первичный источник |
|---|---|---|---|
Deployment apps/v1 | GA | основной контроллер без состояния | Deployment |
Job/CronJob batch/v1 | GA; CronJob v1 стабилен с 1.21 | периодическое выполнение по-прежнему имеет эксплуатационный контракт «не менее одного раза» | CronJob |
| Нативный сайдкар | стабилен с 1.33 | initContainers[*].restartPolicy: Always; только обзор | Сайдкар-контейнеры |
| Эфемерные контейнеры | стабильны с 1.25 | диагностический подресурс, а не сайдкар приложения | Эфемерные контейнеры |
| Проверки startup/readiness/liveness | базовая стабильная возможность | разная семантика запуска, трафика и перезапуска | Задача по проверкам |
| Проверка gRPC | стабильна с 1.27 | не используется в HTTP-лаборатории FastAPI | Задача по проверкам |
Service v1 | GA | внешнему LB требуется реализация | Service |
EndpointSlice discovery.k8s.io/v1 | стабилен с 1.21 | основное доказательство состава целевых ресурсов | EndpointSlice |
Ingress networking.k8s.io/v1 | стабилен с 1.19, API заморожен | требуется контроллер; рекомендован Gateway | Ingress |
| Gateway API | внешние CRDs и контроллер | не встроен в ядро; status и версия зависят от установленной реализации | Концепция Gateway API |
NetworkPolicy networking.k8s.io/v1 | API GA | применяется только совместимым сетевым дополнением | NetworkPolicy |
Service .spec.externalIPs | устарел в v1.36 | намеренно отсутствует из-за безопасности и переносимости | Статья об устаревании v1.36 |
| PV/PVC/StorageClass | GA | драйвер, provisioner и режимы доступа зависят от провайдера | Постоянные тома |
ReadWriteOncePod | стабилен с 1.29 | требуется поддержка CSI; отличается от RWO | Постоянные тома |
VolumeSnapshot snapshot.storage.k8s.io/v1 | API стабилен с 1.20 | внешние CRDs, контроллер и поддержка CSI; не доказывает резервную копию | Снимки томов |
Дополнение тома gitRepo | окончательно отключено в v1.36 | не используется; альтернативы — init и внешняя синхронизация | Выпуск v1.36 |
PDB policy/v1 | GA | только добровольный eviction | Нарушения доступности |
HPA autoscaling/v2 | GA | API метрик и adapter внешние; требуются запросы ресурсов | HPA |
| VPA | внешнее дополнение и CRDs | только обзор компромиссов; установка не предполагается | Вертикальное масштабирование Pods |
| Масштабирование узлов | базовая концепция, внешние реализация и провайдер | отсутствует в локальном kind | Масштабирование узлов |
| Pod Security Admission | стабилен с 1.25 | метки namespace применяют PSS restricted | Pod Security Admission |
| Pod Security Policy | удалён в 1.25 | манифесты намеренно отсутствуют | PodSecurityPolicy |
| Поле seccomp / RuntimeDefault | стабильно с 1.19 | явно задано в securityContext нагрузки | SecurityContext |
| Ограниченный проецируемый токен ServiceAccount | современный стабильный механизм | приложение отключает автомонтирование; проверка RBAC включает его | ServiceAccount |
ValidatingAdmissionPolicy admissionregistration.k8s.io/v1 | GA с 1.30 | пример CEL без latest ограничен областью и сначала проверяется на контрольной группе | ValidatingAdmissionPolicy |
| Ограничения топологического распределения | стабильны | мягкое распределение по hostname в базе; жёсткие правила требуют ёмкости | Топологическое распределение |
| Серверная декларативная проверка | GA в v1.36 | серверная проверка всё ещё не проверяет среду исполнения | Статья о возможности v1.36 |
Все ссылки в матрице открывались как официальные страницы проектов на дату доступа. Переключатели возможностей и матрицы провайдеров для реальной цели нужно перечитать перед применением.
Версии API, используемые в курсе
| API | Виды ресурсов | Статус и причина |
|---|---|---|
v1 | Namespace, Pod, Service, ConfigMap, Secret, ServiceAccount, PVC, LimitRange, ResourceQuota | базовый GA |
apps/v1 | Deployment | GA |
batch/v1 | Job | GA |
networking.k8s.io/v1 | Ingress, NetworkPolicy | GA; реализации внешние |
policy/v1 | PodDisruptionBudget | GA |
autoscaling/v2 | HorizontalPodAutoscaler | GA |
rbac.authorization.k8s.io/v1 | Role, RoleBinding | GA |
admissionregistration.k8s.io/v1 | ValidatingAdmissionPolicy/Binding | GA в базовой версии |
kustomize.config.k8s.io/v1beta1 | Kustomization | конфигурация клиента, а не обслуживаемый ресурс Kubernetes |
kind.x-k8s.io/v1alpha4 | kind Cluster | конфигурация инструмента kind, а не обслуживаемый ресурс Kubernetes |
Манифесты курса намеренно не используют устаревшие extensions/v1beta1,
apps/v1beta*, networking.k8s.io/v1beta1, policy/v1beta1, PSP,
gitRepo, externalIPs или плавающий latest.
Первичные источники Kubernetes
Все доступны и проверены 2026-07-29:
Обзор, API и архитектура
- Концепции Kubernetes
- Справочник Kubernetes API v1.36
- Компоненты Kubernetes
- Объекты
- Концепции API
- Контроллеры
- Метки и селекторы
- Владельцы и зависимые объекты
Рабочие нагрузки и конфигурация
- Рабочие нагрузки
- Pod
- Жизненный цикл Pod
- Deployment
- Job
- StatefulSet
- Настройка Pods и контейнеров
- ConfigMap
- Secret
- Управление ресурсами
Сеть и хранение данных
- Service, балансировка нагрузки и сеть
- Service
- DNS
- Ingress
- NetworkPolicy
- Хранилище
- Тома
- Постоянные тома
- Классы хранилища
Планирование, доступность и безопасность
- Планирование и eviction
- Проверки
- Нарушения доступности и PDB
- HPA
- Безопасность Kubernetes
- RBAC
- Стандарты Pod Security
- Рекомендации по Secrets
- Мультитенантность
Эксплуатация, диагностика и жизненный цикл API
- Диагностика приложений
- Архитектура журналирования
- Аудит
- Выпуски Kubernetes
- Исправляющие выпуски
- Правила совместимости версий
- Политика устаревания
- Миграция устаревших API
- Эксплуатация etcd
Первичные источники по инструментам и дополнениям
- Документация kind — доступна 2026-07-29.
- Быстрый старт kind — текущая стабильная версия v0.32.0.
- Выпуск kind v0.32.0 — точный digest образа узла v1.36.1.
- kind Ingress —
указана зависимость
cloud-provider-kind v0.9.0+. - Документация minikube — проверена как альтернатива, но не как основа команд.
- Справочник Kustomize — проверен 2026-07-29.
- Документация Helm — проверена 2026-07-29.
- Выпуск Metrics Server v0.8.1 — последний замеченный выпуск дополнения, ветка 0.8.x совместима с Kubernetes 1.31+; проект публикует контрольную сумму компонентов.
- Проект Gateway API — документация внешнего API и реализации; установленную версию нужно фиксировать отдельно.
Решения и ограничения исследования
- Для нормативных заявлений об API, статусах и совместимости использованы только первичные документы Kubernetes и проектов.
- Публикации о выпусках используются для изменений v1.36, а не для общих концепций.
- Примеры используют API со стабильным статусом, доступные в v1.36. Экспериментальные возможности не нужны.
kindвыбран за воспроизводимый многоузловой процесс CI и загрузки образов; minikube — документированная альтернатива.cloud-provider-kind, Metrics Server, провайдер политик CNI, CSI, контроллеры Gateway/Ingress, системы наблюдаемости, GitOps и секретов всегда названы дополнениями, а не ядром.- Доступность ссылок проверена на дату исследования, но внешние перенаправления и выпуски могут измениться.
- В окружении не было среды исполнения контейнеров и работающего кластера.
Временный проверенный
kubectl v1.36.2использовался только для рендеринга Kustomize, аkubeconform— для автономной проверки схемы; ожидаемый вывод кластера основан на документированной семантике и должен быть подтверждён студентом.
Порядок актуализации
Перед новой группой или целевой средой:
1. Прочитать страницы стабильного выпуска и исправляющей версии; обновить точные версию и дату.
2. Прочитать руководство по совместимости и устареванию для текущей → целевой версии.
3. Выбрать выпуск kind и точный опубликованный digest образа узла.
4. Проверить правило kubectl ±1 версия и матрицы совместимости дополнений.
5. Повторно проверить все строки возможностей и обнаружение API в целевой среде.
6. Отрендерить все наложения; выполнить клиентский и серверный dry-run целевой версии.
7. Запустить одноразовые лабораторные в живом кластере и записать ограничения.
8. Проверить реестр ссылок; заменять источники только первичными.
Вернитесь к MAIN.