Релиз nxs-anomaly: отечественная альтернатива Grafana OnCall для управления дежурствами, маршрутизации оповещений и эскалации инцидентов. Доступен на GitHub

Все инструменты

nxs-universal-chart

Универсальный Helm-чарт с открытым исходным кодом для настройки и развёртывания приложений и связанных ресурсов в Kubernetes и OpenShift.

nxs-universal-chart

nxs-universal-chart — универсальный Helm-чарт для развёртывания приложений в Kubernetes и OpenShift.

Он позволяет описывать основные ресурсы приложения с помощью единого набора параметров и разворачивать их в Kubernetes-кластере без создания отдельных Helm-шаблонов для каждого типа ресурса.

Чарт подходит системным администраторам, DevOps-инженерам и разработчикам, которым нужно упростить и унифицировать развёртывание приложений в Kubernetes-инфраструктуре.

Возможности

Развёртывание приложений

nxs-universal-chart позволяет описывать и разворачивать основные Kubernetes-ресурсы, необходимые приложению.

Поддерживаются:

  • Deployment;
  • StatefulSet;
  • Service;
  • Ingress;
  • ConfigMap;
  • Secret и SealedSecret;
  • PersistentVolumeClaim;
  • ServiceAccount и RBAC-ресурсы;
  • Job и CronJob;
  • HorizontalPodAutoscaler;
  • PodDisruptionBudget.

Для ресурсов, которых нет в стандартном наборе шаблонов, можно использовать extraDeploy и добавлять собственные Kubernetes-манифесты.

Единая конфигурация

Настройки организованы по типам Kubernetes-ресурсов: приложения, сетевые ресурсы, конфигурация, секреты, хранилища, права доступа и ресурсы для масштабирования.

Общие параметры позволяют повторно использовать настройки разных ресурсов — например, метки, аннотации, параметры Pod, тома и переменные окружения.

Конфигурация проверяется с помощью схемы values.schema.json.

Поддержка Ingress-контроллеров

Чарт можно использовать с различными Ingress-контроллерами, включая:

  • NGINX Ingress;
  • Traefik;
  • Istio.

Для расширенных сценариев доступны соответствующие ресурсы через дополнительные nuc-*-чарты.

Дополнительные Kubernetes-ресурсы

С помощью extraDeploy можно создавать произвольные Kubernetes-ресурсы, которые не входят в стандартный набор шаблонов nxs-universal-chart.

Это позволяет использовать чарт для приложений с нестандартной инфраструктурой и дополнительными Kubernetes-компонентами.

Подключаемые интеграции

nxs-universal-chart поддерживает подключение дополнительных nuc-*-чартов для работы с компонентами Kubernetes-инфраструктуры.

В зависимости от конфигурации можно использовать интеграции с:

  • Traefik;
  • Cert-manager;
  • Istio;
  • Flux CD;
  • Knative;
  • KServe;
  • Prometheus Operator;
  • Gateway API;
  • Envoy Gateway;
  • VictoriaMetrics;
  • Vault Secret Operator;
  • Argo CD;
  • KEDA;
  • CloudNativePG.

Интеграции подключаются как зависимости и могут включаться с помощью параметров Helm.

Как работает

nxs-universal-chart использует параметры Helm для описания конфигурации приложения.

В настройках можно определить необходимые ресурсы и их параметры — например, Deployment, Service, Ingress, ConfigMap, Secret, PersistentVolumeClaim или Job.

На основе этих настроек Helm формирует Kubernetes-манифесты, которые затем разворачиваются в кластере.

Общая схема работы:

Настроить параметры → сформировать Kubernetes-манифесты → установить чарт → получить готовые ресурсы в кластере.

В основе чарта используется общая библиотека nuc-common, которая предоставляет вспомогательные функции для формирования ресурсов, работы с конфигурацией, метками, шаблонами и другими общими параметрами.

Где можно использовать

nxs-universal-chart можно использовать в Kubernetes-совместимых средах:

  • Kubernetes;
  • OpenShift;
  • других платформах с совместимым Kubernetes API.

Чарт подходит для развёртывания приложений и связанных с ними ресурсов в Kubernetes-кластерах.

Сценарии использования

nxs-universal-chart подходит:

  • системным администраторам — для стандартизации развёртывания приложений;
  • DevOps-инженерам — для управления конфигурацией Kubernetes-ресурсов;
  • разработчикам — для подготовки единых конфигураций приложений;
  • командам, которые используют Kubernetes и хотят сократить количество отдельных Helm-шаблонов.

Поддерживаемые технологии

Платформы: Kubernetes, OpenShift и другие платформы с совместимым Kubernetes API.

Helm: версии 2, 3 и 4.

Ingress: NGINX Ingress, Traefik, Istio.

Kubernetes-ресурсы: Deployment, StatefulSet, Service, Ingress, ConfigMap, Secret, SealedSecret, PersistentVolumeClaim, RBAC, Job, CronJob, HorizontalPodAutoscaler, PodDisruptionBudget и другие ресурсы через extraDeploy.

Установка и документация

nxs-universal-chart устанавливается с помощью Helm.

Исходный код, примеры конфигурации и подробная документация доступны в репозитории проекта.

GitHub: nixys/nxs-universal-chart

Лицензия

nxs-universal-chart распространяется под лицензией Apache 2.0.


Блог

Больше о наших инструментах

Все статьи

Оставьте заявку, чтобы обсудить проект

Ваши контакты
О вашем проекте

Нажав на кнопку, соглашаюсь на обработку персональных данных, Ознакомлен со всеми документами, размещенными на сайте

См. Политику обработки персональных данных
См. Пользовательское соглашение