Главная » Хабрахабр » Проекту Kubernetes исполнилось 4 года

Проекту Kubernetes исполнилось 4 года

По этому случаю один из его основателей, Joe Beda, поделился в блоге проекта своими воспоминаниями о том, как всё начиналось. На прошлой неделе Kubernetes отметил своё 4-летие: первый коммит в его публичной кодовой базе состоялся 6 июня 2014 года.

Первый коммит

А начиналось всё, как известно, гораздо раньше — с «идей, что были проверены опытом Google на протяжении 10 лет с Borg» — системой, которая в свою очередь «обязана своим существованием ещё более ранней работе в Google и вне его». Вот как описывает истоки Kubernetes, предшествовавшие первому коммиту, сам Джо:

Вместе с Бренданом и Крейгом мы хотели, чтобы люди могли воспользоваться нашими трудами, поэтому решили создать прототип в виде Open Source-проекта, который откроет миру лучшие идеи из Borg. Если говорить конкретно, Kubernetes начался с прототипов от Brendan Burns и моей продолжающейся работы Craig McLuckie с целью согласовать внутренние наработки Google с Google Cloud.


Joe Beda, Craig McLuckie и Brendan Burns (слева направо) — оригинальные авторы Kubernetes — на панельной дискуссии об истории проекта (видео 2018 года)

Взяв прототип Брендана (на Java), мы переписали его на Go и собрали лишь тот необходимый минимум, что позволяет показать основные идеи. Мы получили добро и занялись собственно созданием системы. Получив нечто работающее, мы нуждались в человеке, который навёл бы порядок, подготовив всё для публичного запуска. К этому времени наша команда выросла — её пополнили Ville Aikas, Tim Hockin, Brian Grant, Dawn Chen и Daniel Smith. Не осознавая всей значимости момента, я создал новый репозиторий, поместил туда наработки и коммитнул их. Этим человеком стал я. Несмотря на то, что мне принадлежит первый публичный коммит в репозиторий, до этого момента было проделано много работы.


Joe Beda начинал свою карьеру в Microsoft (1997), перейдя оттуда в Google (2004), а затем был советником в CoreOS (2015) и создал свою компанию Heptio (2016)

Но первые наработки Kubernetes были очень сырыми:

Основные концепции присутствовали, но находились в очень сыром виде. Версия Kubernetes того времени была лишь тенью того, чем станет проект. Мы изменили это буквально за день до публичного коммита. Например, поды (pods) назывались задачами (tasks). [..] Однако, несмотря на эту сырость, даже такого начала было достаточно для того, чтобы вызвать интерес сообщества, которое быстро сплотилось, а со временем становилось только сильнее.

Очевидная причина последовавшего всплеска популярности Kubernetes — индустрия в целом пришла к тем же проблемам и не имела достаточно подходящего решения. Словам Джо вторит Крейг:

Просто основываясь на своём опыте с Google Compute Engine, мы из первых рядов увидели проблемы, с которыми компании сталкиваются при переносе рабочих нагрузок в облака. Мы долго размышляли над тем, как сделать запуск приложений в production более прогрессивным, «оркестрированным». [..]

И это действительно принесло свои плоды: развитие Kubernetes ускорилось и он быстро стал стандартом для оркестровки контейнеров. Если вы взглянете на историю, мы приняли решение открыть код Kubernetes и сделать его проектом, ориентированным на сообщество, гораздо раньше, чем того рекомендует привычный ход мысли, и по-настоящему сосредоточились на создании сообщества, которое будет открытым и вовлечённым.

Первый анонс

Публичный анонс Kubernetes состоялся через несколько дней после первого коммита — 10 июня 2014 года на первой конференции DockerCon. Это сделал Eric Brewer — вице-президент Google по инфраструктуре — в рамках доклада «Robust Containers» (видео, презентация) следующими словами:

Это ещё одна система оркестровки… [..] Не буду её демонстрировать, т.к. Сегодня мы выпускаем код Kubernetes. Позже сегодня это сделают Крейг и Брендан. у меня всего 25 минут на доклад. [..] Причина, по которой мы сейчас публикуем Kubernetes как Open Source-проект, заключается в идеях [которыми мы хотим поделиться с сообществом].

… и кратким рассказом о базовой архитектуре Kubernetes и ключевых концепциях нового проекта: labels для подов (термин pod уже использовался в Google для обозначения групп контейнеров), replica set («группа подов с одинаковыми лейблами»), service («replica set с балансировкой нагрузки»), reconciler model («модель примирителя»; ключевая идея этого подхода — объявлять желаемое состояние, чтобы в дальнейшем система автоматизированно следила за соответствием ему).


Анонс Kubernetes на конференции DockerCon'14

Ценности проекта

Что было дальше с Kubernetes, нам известно уже не понаслышке… Подводя итог 4-летия, Джо отмечает, что «успех проекта был во многом обусловлен не просто кодом и технологией, а тем, как замечательная группа людей собралась вместе для того, чтобы сделать нечто особенное». И лучшей иллюстрацией тому служат ценности сообщества Kubernetes, которые представлены в репозитории проекта:

  1. Распространение лучше централизации. Масштаб, которого добился Kubernetes, возможен только благодаря открытому и доверительному распределению полномочий на управление, принятие решений, архитектуру, владение кодом, документацию.
  2. Сообщество превыше продукта или компании. Приверженность развитию проекта в интересах всех его участников и пользователей. Проявляется это в публичной совместной работе (и отдельных энтузиастов, и компаний), направленной на достижение общих целей.
  3. Автоматизация превыше процесса. «Героизм нежизнеспособен», поэтому рутинная работа должна быть максимально автоматизирована, а там, где это невозможно, по достоинству оценена.
  4. Вбирать в себя лучше, чем исключать. Широкий успех технологии требует взглядов с разных сторон и большого числа навыков, которые должны встречаться в дружелюбной и уважительной атмосфере.
  5. Эволюция лучше, чем стагнация. В основе культуры проекта Kubernetes — постоянное совершенствование, servant leadership (подход «лидер-служитель»), наставничество и уважение. В обязанности лидеров проекта входит поиск и спонсирование новых членов сообщества, которые должны иметь возможность присоединиться, а сами лидеры в то же время должны быть готовы уйти.

Резюмирует же ценности проекта известная цитата Питера Друкера: «Культура ест стратегию на завтрак».

P.S.

Читайте также в нашем блоге:


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

«Противостояние» на PHDays 8 — взгляд со стороны SOC

В мае этого года прошла конференция Positive Hack Days 8, на которой мы вновь поучаствовали в роли SOC в уже традиционном Противостоянии (The Standoff). Атакующие — молодцы! В этом году организаторы учли прошлые ошибки и Противостояние началось в срок. Нападали ...

Погружение в AD: разбираем продвинутые атаки на Microsoft Active Directory и способы их детекта

Изображение: Pexels Участники рассказывают о новых векторах и своих изобретениях, но не забывают и о советах, как можно их обнаружить и предотвратить. За последние четыре года ни один Black Hat или DEF CON не обошелся без докладов на тему атак ...