Kubernetes

Описание

Kubernetes (часто используют его сокращенное название K8s) — это система для управления контейнерами (т. н. оркестратор) с открытым исходным кодом. Она автоматизирует жизненный цикл контейнеризированных приложений в современных инфраструктурах, выступая “операционной системой” на уровне центров обработки данных для управления приложениями в распределенных системах.

Kubernetes планирует (т. е. распределяет) контейнеры на узлы кластера, попутно обеспечивая их различными инфраструктурными ресурсами, такими как балансировщики нагрузки, постоянное хранилище и т. д., необходимыми для запуска контейнеризованных приложений.

Kubernetes обеспечивает автоматизацию и расширяемость, позволяя пользователям развертывать приложения декларативным (см. ниже) и воспроизводимым образом. API, встроенный в Kubernetes, позволяет опытным пользователям расширять и дополнять его возможности в соответствии со своими потребностями.

Проблема

Автоматизация инфраструктуры и декларативное управление конфигурацией уже давно занимают центральное место в информационных технологиях. С ростом популярности облачных вычислений их актуальность значительно возросла.

Спрос на вычислительные ресурсы постоянно увеличивается. В то же время организации стараются сделать труд инженеров максимально эффективным, чтобы оптимизировать расходы на рабочую силу. Новые технологии и методы работы призваны удовлетворить обе этих потребности.

Решение

Как и традиционные инструменты типа инфраструктура-как-код (IaC), Kubernetes помогает автоматизировать процессы, а его отличительной чертой и преимуществом является использование контейнеров.

Контейнеры более устойчивы к изменяющейся со временем конфигурации, нежели виртуальные или физические машины.

Кроме того, Kubernetes работает декларативно, то есть пользователь не указывает компьютеру, что нужно сделать, а лишь описывает желаемое состояние инфраструктуры (обычно в виде файлов-манифестов на языке YAML). Все остальное Kubernetes берет на себя. Таким образом, Kubernetes в высшей степени совместим с подходом инфраструктура-как-код.

В Kubernetes также встроена функция самовосстановления.

Фактическое состояние кластера всегда стремится к состоянию, которое задал оператор. Когда Kubernetes обнаруживает отклонение от того, что описано в файлах манифеста, в работу вступает контроллер Kubernetes и устраняет его. Инфраструктура, с которой работает Kubernetes, может в любой момент измениться, однако оркестратор постоянно и автоматически адаптируется к этим изменениям, следя за тем, чтобы состояние кластера всегда соответствовало желаемому.


Последнее изменение October 10, 2023: Add ru prefix to links where needed (f788c89)