30 сентября 2017

Новые возможности Google Kubernetes 1.8


Google представил новую версию среды управления контейнерами Kubernetes 1.8

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

Краткий обзор Kubernetes, для тех кто всё пропустил

Контейнер - это виртуальный образ операционной системы узла (Node), который изолирован по всем настройкам, включая установленные приложения, от других контейнеров на том же узле. В отличие от обычных виртуальных машин, контейнеры не требуют выделения ресурсов (диска и памяти) для каждого экземпляра ОС на узле, а разделяют общие ресурсы ОС своего узла, за счёт чего происходит просто гигантская экономия памяти и общее повышение производительности для типичных виртуальных нагрузок. Главное свойство контейнера - это возможность свободного перемещения между узлами в общем пространстве имён контейнерного кластера.

Kubernetes - это бесплатная среда управления кластерами контейнеров с открытым исходным кодом, основным разработчиком которой с первого дня и по сей день является Google. Более того, сам Google использует Kubernetes внутри своего сервиса Google Container Engine (является частью общего облака Google Cloud Platform), поэтому постоянно поддерживает версию Kubernetes в самом последнем актуальном состоянии и развивает возможности Kubernetes, значительно опережая все аналогичные системы управления кластерами контейнеров от конкурентов.

Отличительной особенностью Kubenetes также является возможность его установки на любой компьютер в вашей локальной сети. По этой причине, если вы ещё не определились, где размещать своё приложение в локальной сети или в Google Container Engine, вы можете начать с того места, где вам сейчас удобнее, например с Google Container Engine, где уже всё бесплатно установлено и настроено для вас, а потом, если вдруг ваше решение изменится, то сможете переместить все свои контейнеры себе в локальную сеть.


Новые возможности Google Container Engine

Новая редакция Google Container Engine на базе Kubernetes 1.8 в облаке Google Cloud Platform получила огромное количество новых возможностей, среди которых:

1) Посекундная тарификация, которая в случае размещения ваших контейнеров в Google Container Engine позволяет платить только за тот объём нагрузки, который был реально потреблён и не разориться на одиночных запросах от поисковых систем и ботов, как у конкурентов, где даже одна секунда работы округляется минимум до минуты, а у некоторых и до часа.

2) Глобальное покрытие, которое позволяет размещать свои контейнеры в той зоне, которая ближе к вам, по всему миру.

3) Масштабирование от 1 до 30000 контейнеров вверх и вниз автоматически не только от уровня нагрузки, но и от любого другого параметра, который вы сами выберете.

4) Автоматическое обновление ОС на узлах в разных окнах обслуживания, без перерыва в сервисе (ваши контейнеры будут автоматически перемещаться только между обновлёнными узлами).

5) IP алиасы для контейнерных кластеров, которые позволяют сделать глобально распределённый Front-End с множеством контейнеров на разных узлах с балансировкой нагрузки по географическому принципу.

6) Возможность получить внутри контейнеров доступ к аппаратным ресурсам GPU ускорителей nVidia Tesla P100 для высокопроизводительных расчётов.

7) Новый коннектор к сервису обработки больших массивов данных Google BigQuery

8) Новый коннектор к облачному хранилищу Google Cloud Storage

9) CronJobs для запуска заданий по расписанию

10) Помимо образа Container Optimized OS (COS), который используется по умолчанию, вы теперь можете выбрать образ на базе Ubuntu, чтобы иметь возможность просто копировать контейнеры между своей локальной сетью и облаком Google даже ничего в них не меняя. Напомню, что дистрибутив COS на базе Chrome OS компанией Google наружу не поставляется и потому не может быть использован в локальной сети.

11) Доступ к контейнерам на основе ролей, который позволяет установить доступ не только снаружи, но и внутри кластера между контейнерами, согласно вашим политикам в зависимости от функциональности контейнера. Например, только Front-End контейнеры могут получать трафик снаружи, а Database контейнеры только трафик от Front-End контейнеров. При этом политики применяются динамически к тысячам контейнеров в зависимости от их функционального назначения, которое вы задаёте один раз для каждого типа контейнеров сами, а далее они автоматически клонируются при увеличении числа контейнеров от нагрузки или иных параметров.

12) Приоритетное распределение нагрузки на определённые узлы кластера для более точного управления масштабированием.

13) Глобальный мониторинг кластера контейнеров и отдельных контейнеров через консоль разработчика Google с помощью Stackdriver.

14) Визуальный интерфейс настройки кластера в консоли разработчика Google, который значительно упростил весь процесс настройки.

15) Интеграция с облачной командной строкой Google Cloud Shell, с помощью которой вы, при необходимости, можете зайти внутрь любого контейнера и выполнить любую тонкую настройку вручную из любого браузера, с использованием интерфейса командной строки. При этом для доступа в контейнер используется внутренняя proxy в облаке Google, как бы изнутри самого облака, так что можно настраивать даже те контейнеры, которые вообще не имеют никакого прямого доступа наружу.

16) Подсказки на основании автоматического анализа контейнеров от аналитики Google, которые позволяют обратить ваше внимание и исправить наиболее распространённые ошибки в настройках кластера контейнеров в Google Conatainer Engine. При этом, в своей локальной сети Kubernetes вы будете вручную выискивать причины недостаточной производительности из-за вашей кривой настройки кластера очень долго, поэтому даже если хотите всё сделать внутри, рекомендую начать с облака Google, а потом, когда всё отладите на тестовых данных, сможете перенести кластер внутрь своей сети и наполнить реальными данными.
Отправить комментарий