Mattermost - это решение для обмена сообщениями с открытым исходным кодом, созданное для современных компаний и управляемое с помощью Kubernetes. Mattermost предназначен для одновременного обслуживания десятков тысяч пользователей, распределенных по всему миру. Однако в таких масштабах управление через Kubernetes может стать сложным, поэтому команда Mattermost создала K8s оператор, который помогает автоматизировать процессы установки, обновления и восстановление после сбоев. С момента своего первого появления в июне 2014 года Kubernetes стал чем-то вроде имени нарицательного, по крайней мере, в кругу администраторов и разработчиков. Платформа для оркестрации контейнеров с открытым исходным кодом позволяет легко решать такие задачи, как балансировка нагрузки, управление секретами и переносимость ПО, и упрощает оркестрацию больших, масштабируемых и распределенных систем. Далее мы расскажем о том, как установить Mattermost на Kubernetes всего за несколько минут и увидеть, каково это - иметь, по сути, облачного инженера Mattermost, работающего в вашем собственном кластере Kubernetes и управляющего инстансом Mattermost за вас. Необходимые условия: - Кластер Kubernetes. - kubectl, установленный локально. Подключите kubectl к удаленному кластеру с помощью соответствующей CLI команды. Например, используется кластер на Google Kubernetes Engine: 1. Создайте YAML файл, который будет выступать в роли лицензии для установки. Это будет общий opaque-тип Kubernetes Secret с определяемой пользователем строкой данных: Вставьте следующий фрагмент в файл и сохраните его: 2. Создайте файл манифеста установки Это второй YAML файл, который будет содержать информацию, необходимую для установки. Вставьте следующий фрагмент в файл и сохраните его: Примечание: Далее следуют шаги по созданию отдельных пространств имен для различных ресурсов в кластере Kubernetes. 3. Установите NGINX контроллер Первым ресурсом, который необходимо установить, является NGINX контроллер, что можно сделать, выполнив следующую команду: 4. Используйте Mattermost оператор Далее следует Mattermost оператор. Создайте пространство имен для Mattermost оператора с помощью следующей команды: В этом пространстве имен установите пользовательский оператор с помощью данной команды: 5. Установите базу данных Любая инсталляция Mattermost требует наличия базы данных. В данном случае будет использоваться база данных MySQL. Чтобы установить ее, сначала создайте пространство имен: Затем установите сам оператор с помощью этой команды: 6. Установите MinIO Поскольку в инструменте для совместной работы происходит обмен большим количеством файлов, для хранения и извлечения данных требуется объектное хранилище. Для этого мы установим MinIO, который является нативным объектным хранилищем Kubernetes. Сначала создайте пространство имен, в котором будет производиться установка: Затем установите его с помощью следующей команды: 7. Создайте пространство имен для Mattermost Наконец, создайте пространство имен для установки Mattermost с помощью следующей команды: 8. Примените лицензию Далее выполните применение файла лицензии, созданного в шаге №1, с помощью следующей команды: 9. Завершите установку Завершите установку, применив манифест установки Mattermost, созданный в Шаге №2, с помощью этой команды: Подождите несколько минут до завершения установки. Наблюдение за ходом установки лучше всего осуществлять с помощью k9s. Скриншоты, отображающие ход выполнения каждого шага установки, были сделаны этим инструментом. 10. Доступ к установке Чтобы получить доступ к установке, настройте перенаправление портов с пода на локальную машину с помощью этой команды: Теперь используйте браузер и введите localhost:8065 для доступа к установке.  Все готово! Вот скриншот первых шагов с новой установкой Mattermost, запущенной на удаленном кластере Kubernetes. Хотите узнать больше о Mattermost на Kubernetes? Чтобы обсудить эту тему, зайдите на портал нашего сообщества.  Если вы хотите узнать больше о том, как присоединиться к проекту Mattermost с открытым исходным кодом, узнайте о множестве способов внести свой вклад. Этот пост написан в связи с 7-й годовщиной начала проекта Kubernetes. За этот короткий промежуток времени он стал вторым после Linux по популярности проектом с открытым исходным кодом! Мы искренне надеемся, что этот пост вдохновит вас на внедрение более открытой и безопасной инфраструктуры для вашей компании - как для вычислений, так и для совместной работы.