API Kubernetes — это краеугольный камень, который позволяет внешним пользователям и системам взаимодействовать с кластерами Kubernetes, что улучшает масштабирование бизнеса. Это не просто монолитное целое; это набор функций, сгруппированных для простоты использования
Kubernetes не кладет все яйца в одну корзину. Он классифицирует API на разные группы в зависимости от их назначения, и это разделение — ваша карта. Можно представить библиотеку, где группы — это её разделы, и каждый содержит книги (в данном случае, API) по определенной теме.
Основная группа — это ваш доступ к фундаментальным ресурсам: пространствам имен и модулям. Именованные группы отвечают за конкретные штуки, такие как сети или хранилище.
В каждой группе есть версии, которые со временем развиваются, переходя от альфа-версии (экспериментальная, может быть нестабильной) к бета-версии (более протестированной, но все еще подверженной изменениям) и, наконец, к стабильной или GA (общей доступности), где они надежны и готовы к использованию. Для этого и существует k8s service.
Основной инструмент для контроля кластера — kubectl, интерфейс командной строки для запуска команд в Kubernetes. Это ваш руль для управления кластером.
Чтобы получить больше контроля, можно выполнять прямые вызовы REST к серверу API. Это похоже на переключение с режима автопилота на ручное управление.
В Kubernetes есть несколько механизмов проверки вашей личности, обеспечивающих безопасный доступ к ресурсам кластера. Думайте об этом как о ключе от машины: вам нужен правильный ключ, чтобы запустить двигатель.
А для более простого маршрута есть kubectl proxy. При этом между вашим компьютером и API Kubernetes создается прокси-сервер, упрощающий взаимодействие с кластером. Это похоже на GPS, который направляет вас через поток запросов API.
С каждым ресурсом в Kubernetes связан набор команд (Verbs). Думайте о ресурсах как о существительных — модулях, развертываниях, службах — и о командах как о действиях, которые вы можете выполнять над ними — например, создавать, читать, обновлять, удалять. Вы можете создать модуль, прочитать его статус, обновить его конфигурацию или удалить его, когда он больше не нужен.
Чтобы узнать, какие ресурсы и глаголы доступны, используйте такие команды, как kubectl api-resources и kubectl api-versions.
Все меняется, и оставаться в курсе событий — ключ к тому, чтобы не пропустить выход новой версии API. Они развиваются, и по мере этого старые версии устаревают.
Политика проста: когда API переходит из бета-версии в стабильную версию, старые бета-версии устаревают и в конечном итоге удаляются через определенный период. Этот период дает вам достаточно времени для переноса ресурсов на более новую стабильную версию. Это похоже на знак, что дорога закрыта, и у вас есть время спланировать альтернативный маршрут.
Стабильное API гарантирует, что ваши приложения и сервисы будут продолжать бесперебойно работать в Kubernetes. Вам необходимо следить за примечаниями к выпуску и объявлениями Kubernetes, чтобы всегда быть в курсе того, какие версии устарели, а какие вышли.
Чтобы поддерживать актуальность ваших конфигураций с учетом последних изменений API, преобразовывать определения ресурсов из старой версии в более новую, используйте команду kubectl convert.