Некоторое назад мы детально рассказывали о продукте VMware Project Pacific, который был анонсирован на конференции VMworld 2019 в Сан-Франциско. Это решение является частью семейства продуктов VMware Tanzu, разработанного специально для создания единой платформы для контейнеризованных приложений и виртуальных машин, которые сейчас очень часто совместно работают в инфраструктуре крупных предприятий.
Tanzu на суахили означает "растущая ветка дерева", а по-японски это созвучно выражению "модульная форма шкафа". В целом это соответствует природе решений Tanzu - разветвленная сеть продуктов для управления контейнерами приложений (листьями), а также модульный подход к организации инфраструктуры компании (ВМ и приложения).
Само семейство Tanzu планируется развивать в 3 направлениях:
Средства построения кластеров Kubernetes (K8s). Это решения для разработчиков и команд DevOps (продукты приобретенных компаний Bitnami и Pivotal).
Средства исполнения кластеров. К ним относится в данный момент Project Pacific — решение для преобразования среды VMware vSphere в нативную платформу для кластеров Kubernetes (будет доступно в следующих релизах vSphere).
Средства управления кластерами. Тут главным решением на сегодняшний день является VMware Tanzu Mission Control (TMC) - единая операционная консоль для кластеров Kubernetes, которая позволит контролировать все аспекты жизненного цикла приложений.
TMC дает менеджерам и администраторам датацентров возможности по созданию и развертыванию новых приложений на платформе Kubernetes, а также средства управления для кластеров K8s из единой точки. Таким образом, через консоль команды разработки могут запросить нужные ресурсы, когда им требуется, и получить их самым быстрым и оптимальным образом.
Основная цель TMC - это предоставить администраторам K8s единый инструмент управления кластерами, вне зависимости от того, находятся ли они в среде VMware vSphere, на платформе VMware Pivotal Container Service (PKS), для которой уже сделана интеграция, инфраструктуре OpenShift, публичных или частных облаках, а также в других средах. Это главная ставка VMware на получение доверия от администраторов, так как если они будут управлять инфраструктурой виртуальных машин и контейнеризованных приложений одним инструментом, то дальше уже позиционировать пользователей решения K8s как часть пользователей сред виртуализации VMware - дело техники.
Второй важный для TMC момент - то, что Kubernetes - это решение, которое до сих эволюционирует. Пользователи по-прежнему вынуждены использовать разные консоли для инфраструктур, расположенных в разных географически разделенных датацентрах (этому, кстати, способствует регулирование вроде GDPR или российского ФЗ-242, вынуждающее учитывать географию хранения данных). Вот тут TMC помогает объединить кластеры K8s разной географии и природы под один управляющий SaaS-сервис.
TMC предоставляет администраторам и менеджерам датацентров следующие возможности:
Возможность развертывания новых кластеров K8s на онпремизных и облачных площадках.
Например, можно сразу создать новый кластер в Amazon AWS, указав регион, версию Kubernetes и VCP CIDR, а также типа кластера - для разработки (один контрольный узел, control pane) или производственный (три контрольных узла, также там можно указывать Availability zones).
Возможность подключить все существующие кластеры K8s к TMC. Для этого устанавливается специальный агент, после чего верифицируется соединение.
По окончании процесса подключения будет сгенерирована команда kubectl, которую надо запустить в командном окне kubectl.
Функция Cluster Groups дает возможность наследовать политики кластеров на уроне групп, без необходимости ручного задания политик.
Группы кластеров содержат кластеры, которые могут существовать в одном или нескольких окружениях и расшарены между разными командами. Операторы могут перемещать кластеры между группами.
Механика Workspaces дает возможность применить контроль доступа к приложению, которое находится в рамках нескольких пространств имен (Namespaces), кластерах и облачных инфраструктурах. Это необходимо пользователям, работающим в рамках нескольких пространств имен и кластеров.
Платформа Tanzu Mission Control полностью построена на базе универсального API, который могут использовать разработчики для оперирования кластерами Kubernetes через Cluster API. Это касается всех рабочих процессов (например, создание или обновление кластера), а также аутентификации и прочих вспомогательных сервисов.
На прошедшем VMworld 2019 компания VMware показала пример объединения нескольких кластеров K8s в разных облаках "под одной крышей" консоли TMC (а именно AKS от Azure, GKE от Google, PKS от VMware и EKS от Amazon). То есть это очень интересная возможность федерации данных кластеров K8s из разных источников в единой консоли:
Выбрав нужного облачного провайдера, с помощью TMC вы можете развернуть новый кластер K8s, например, в среде EKS в облаке AWS. Кластер можно назначить группе (Cluster group), что позволит унаследовать политики, заданные для этой группы.
После создания кластера можно посмотреть всю информацию о его состоянии (компоненты, агенты и проверки). На уровне каждого узла K8s (kubelet) можно узнавать информацию о его версии и версиях исполняемых на нем контейнеров, а также прочих ресурсах - дисках и оперативной памяти. Также для узлов Worker nodes можно посмотреть список его объектов Pods.
Вот какую информацию можно получать в консоли TMC:
Полный список всех подключенных кластеров
Высокоуровневые метаданные кластеров (выделенные ресурсы и доступность)
Список узлов, пространств имен и рабочих нагрузок для выбранного кластера, а также его базовые метрики
Список всех пространств имен и рабочих нагрузок для всех кластеров
Состояние всех компонентов и узлов кластеров
Статус здоровья визуализуется на дэшборде, что удобно для задач мониторинга
Статус кластеров, говорящий о том, что они настроены в соответствии с лучшими практиками (Conformant status)
Также из консоли TMC можно запускать проверки различного типа и генерировать отчеты по этим проверкам.
Как вы уже наверняка поняли, сама консоль - это SaaS-решение, которое объединяет объекты разной природы в облачной консоли (например, это могут быть компоненты платформы vSphere, объекты из публичных облаков, средства OpenShift или просто инсталляции собственной архитектуры). Также вы можете привязать кластер VMware Essential PKS к консоли Tanzu Mission Control и использовать средства автоматизации обслуживания жизненного цикла кластеров, либо можно открыть и использовать расширенные средства сервисов PKS-кластера. Суммарно TMC может управлять тысячами кластеров, с которыми работают сотни пользователей из различных онпремизных и облачных сред.
TMC - это отличный способ объединить разработчиков приложений, создающих кластеры по заданным требованиям, и администраторов виртуальных инфраструктур, которые следят за эффективностью использования ресурсов датацентра.
Консоль Mission Control использует:
Cluster API для управления жизненным циклом (Lifecycle Management)
Velero для резервного копирования и восстановления
Sonobuoy для контроля конфигураций
Contour для контроля компонентов ingress
Как мы отметили выше, все кластеры и их объекты покрываются гибко настраиваемыми политиками. Их можно применять к кластерам и группам кластеров, разграничивая таким образом зоны ответственности между разработчиками.
Сейчас политики TMC сосредоточены в области централизованной аутентификации, разделения доступа и назначения привилегий, но в будущем они будут расширены до управления образами, сетевым взаимодействием, безопасностью, квотами ресурсов и прочих вещей.
С точки зрения безопасности, в TMC будут функции по управлению конфигурациями и приведение кластеров в соответствие установленному стандарту настроек, а также применению политик, запрещающих определенные действия в кластере.
Также есть и политики по резервному копированию рабочих нагрузок и прочих компонентов кластеров, чтобы администраторы могли быть уверены, что резервные копии сделаны консистентно и надежно хранятся.
Планируется, что решение TMC будет интегрировано с другими продуктами и сервисами VMware, в частности, в целях мониторинга будет обеспечиваться коммуникация с Wavefront, который собирает метрики в большой инфраструктуре и отслеживает их как SaaS-дэшборд, интегрированный с основными облачными решениями, такими как Amazon AWS.