Перейти к содержанию

Application charts

Каталог приложений

Каталог приложений в Боцман, основанный на Helm charts, предоставляет удобный способ развертывания и управления облачными приложениями в кластерах. Он позволяет упростить процесс установки и конфигурации различных сервисов, таких как базы данных, системы мониторинга, CI/CD-пайплайны и многое другое. Рассмотрим основные преимущества и сценарии использования каталога приложений Боцман.

Преимущества использования каталога приложений

  1. Упрощенное развертывание:

    • Каталог приложений содержит предварительно подготовленные шаблоны (charts), которые позволяют быстро разворачивать популярные приложения без необходимости глубокого понимания их конфигурации.
    • Все необходимые ресурсы, такие как Deployment, Service, ConfigMap и другие, автоматически создаются на основе chart'а.
  2. Централизованное управление:

    • Боцман предоставляет графический интерфейс для просмотра доступных charts, их установки, обновления и удаления.
    • Это делает процесс управления приложениями более интуитивным и доступным для команд разработчиков и DevOps.
  3. Гибкая настройка:

    • Перед установкой chart'а можно изменить его параметры через веб-интерфейс или YAML-файл, что позволяет адаптировать приложение под конкретные требования среды.
    • Поддерживаются различные версии одного и того же приложения, что дает возможность выбрать наиболее подходящую для ваших нужд.
  4. Автоматическое обновление:

    • Боцман может автоматически проверять наличие новых версий chart'ов и предлагать обновления.
    • Это помогает поддерживать актуальность используемых приложений и исправлять потенциальные уязвимости.
  5. Интеграция с существующими кластерами:

    • Catalog может быть легко интегрирован с любыми кластерами, управляемыми Боцман, независимо от их расположения (облако, локальная инфраструктура, гибридная среда).
  6. Поддержка сторонних репозиториев:

    • Боцман поддерживает добавление пользовательских репозиториев Helm charts, что позволяет использовать не только официальные charts, но и собственные или сторонние решения.
  7. Встроенная безопасность:

    • Боцман обеспечивает безопасное хранение sensitive данных (например, паролей) через Kubernetes Secrets, а также предоставляет возможности для управления доступом на уровне ролей (Role-Based Access Control, RBAC).
  8. Разделение ответственности:

    • Разработчики могут сосредоточиться на создании кода, а операционная команда — на управлении инфраструктурой, поскольку catalog упрощает процесс деплоя и масштабирования приложений.

Сценарии использования каталога приложений

  1. Развертывание баз данных:
    • Быстрое развертывание баз данных, таких как MySQL, PostgreSQL, MongoDB, Redis и других, с возможностью настройки параметров хранения, репликации и безопасности.
  2. Настройка систем мониторинга и логирования:
    • Установка и конфигурация решений для мониторинга (Prometheus, Grafana) и сбора логов (ELK Stack, Fluentd), что позволяет следить за состоянием кластера и приложений.
  3. CI/CD интеграция:
    • Развертывание CI/CD-систем, таких как Jenkins, GitLab Runner или Argo CD, для автоматизации процессов сборки, тестирования и деплоя приложений.
  4. Развертывание служб и API:
    • Быстрая установка микросервисов, API-шлюзов (NGINX Ingress Controller, Kong) и других компонентов для организации работы распределенных систем.
  5. Управление конфигурацией и секретами:
    • Использование charts для управления конфигурационными файлами и секретами через ConfigMaps и Secrets, что упрощает работу с чувствительными данными.
  6. Развертывание PaaS-решений:
    • Установка платформ, таких как WordPress, Drupal или Keycloak, для быстрого запуска веб-приложений или систем аутентификации.
  7. Создание sandbox-сред:
    • Быстрое создание временных окружений для тестирования новых функций или обучения сотрудников без необходимости ручной настройки.
  8. Масштабирование и обновление приложений:
    • Автоматическое масштабирование и обновление приложений с минимальными простоем благодаря встроенным механизмам rolling updates.
  9. Работа с AI/ML-решениями:
    • Развертывание платформ для машинного обучения, таких как TensorFlow Serving, JupyterHub или Kubeflow, для создания и управления моделями.
  10. Создание многоконтейнерных приложений:
    • Удобная установка сложных приложений, состоящих из нескольких контейнеров, с автоматической связкой между компонентами.