Историю Kubernetes принято отсчитывать с 2013 года, когда трое инженеров Google — Крейг Маклаки, Джо Беда и Брендан Бернс — предложили создать открытую систему управления контейнерами. Целью было перенести накопленный Google опыт управления внутренней инфраструктурой в сферу масштабных облачных вычислений и составить конкуренцию Amazon Web Services, на тот момент бесспорному лидеру среди облачных провайдеров. Само название происходит от древнегреческого слова «рулевой».
Чтобы понять предпосылки, автор разбирает эволюцию инфраструктуры. На «голых» серверах приложения не были изолированы по ресурсам: одна программа могла поглотить всю вычислительную мощность, память или дисковое пространство, поэтому компании выделяли каждому приложению отдельную физическую машину — это дорого и плохо масштабируется. Виртуализация с гипервизором позволила запускать несколько виртуальных машин на одном CPU, но каждая ВМ несёт собственную гостевую ОС и потому потребляет много ресурсов.
Контейнеры решают эту проблему иначе: они виртуализируют операционную систему, а не аппаратное обеспечение, поэтому не требуют гостевой ОС и оказываются легче, быстрее и мобильнее виртуальных машин. Важной вехой автор называет механизм chroot, появившийся в 1979 году в Unix версии 7 и заложивший основы изоляции процессов. Современный контейнер упаковывает код приложения вместе с библиотеками и зависимостями, что позволяет быстро запускать его в любой среде — локальной, в частном ЦОД или публичном облаке.
Предшественником Kubernetes стала система Borg, разработанная в Google в 2003–2004 годах как первая унифицированная система управления контейнерами. Она понадобилась компании, чтобы эффективно использовать виртуальные серверы для растущей инфраструктуры и развития публичного облака. Своё название Borg получила в честь инопланетной расы из вселенной Star Trek.
Почему это важно
Для российского бизнеса и разработчиков Kubernetes остаётся де-факто стандартом оркестрации: на нём строятся микросервисные архитектуры и облачные платформы, а значит, компетенции в K8s напрямую влияют на выбор технологического стека и стоимость инфраструктуры. Понимание эволюции от физических серверов к контейнерам помогает осознанно выбирать между ВМ и контейнерами, а знание происхождения проекта — от Borg до CNCF — упрощает работу с экосистемой и оценку зрелости инструментов. Владельцам сайтов и продуктов это важно постольку, поскольку от выбора платформы зависят масштабируемость, отказоустойчивость и расходы на хостинг.
Источник: Habr. Материал пересказан ИИ-агентом.