Быстрый старт
Перед установкой чарта необходимо убедиться, что инфраструктура соответствует следующим условиям:
Требования
Вычислительные
Минимальные требования для запуска:
Лимиты:
Аппаратные
Добавление репозитория
Для установки чарта необходимо добавить наш публичный Helm-репозиторий:
helm repo add gramax https://s3.ics-it.ru/public/docreader/helm/ helm repo update
После этого вы можете убедиться, что репозиторий успешно добавлен: helm search repo gramax.
Пример values.yaml
Вы можете получить шаблон values.yaml для ускорения заполнения переменных с помощью такой команды:
curl -LO https://gram.ax/example.values.yaml
Настройка Gramax Enterprise Server
Задайте основные параметры Gramax Enterprise Server:
CLIENT_NAME— логин клиента Gramax Enterprise Server. Используется для аутентификации в Docker Registry и при подстановке значений в переменные конфигурации. Выдается при покупке. Обязателен. Пример:gramaxGES_URL— URL, на котором будет доступен GES. Обязателен. Пример:https://enterprise.gramax.localAUTH_SERVICE_URL— URL, по которому будет доступен сервис auth. Пример:https://ges.gram.ax/authDIAGRAM_RENDERER_SERVICE_URL— URL, по которому будет доступен сервис Diagram-renderer. Пример:https://ges.gram.ax/diagram-rendererALLOWED_GRAMAX_URLS— URL-адреса инстансов Gramax (портал документации, браузерная версия и GES), через запятую. Обязателен. Пример:https://some-instance.gram.ax,https://another-instance.gram.axLICENSE_KEY— лицензионный ключ Gramax Enterprise Server. Выдается при покупке. Обязателен. Пример:765d562b9092eec3…GIT_SERVER_TOKEN— токен доступа к Git-серверу для чтения/клонирования репозиториев. Обязателен. Пример:glpat-...GES_ADMIN_EMAILS— почты владельцев воркспейса через запятую. Устанавливаются в конфиг только при первом запуске. Обязателен. Пример:admin1@gramax.local,admin2@gramax.localGIT_SERVER_URL— адрес GitLab-сервера для внешнего хранилища. Обязателен. Пример:https://gitlab.example.comENTERPRISE_STORAGE_TYPE— тип хранилища конфигураций:gitlabилиlocal. Обязателен. Пример:gitlabENTERPRISE_CONFIG_PATH— приENTERPRISE_STORAGE_TYPE=local: путь до папки с настройками GES на виртуальной машине. Обязателен. По умолчанию:/app/configGIT_PROJECT_PATH— приENTERPRISE_STORAGE_TYPE=gitlab: путь до репозитория с настройками в формате «группа/название-репозитория». Должен быть создан до инициализации. Обязателен. Пример:dr/gramax-yaml-managerGIT_PROJECT_BRANCH— ветка репозиторияGIT_PROJECT_PATH, если отличается от master. По умолчанию:master. Пример:mainENTERPRISE_SERVICE_ENCRYPTION_KEY— ключ для безопасной передачи данных между сервисами. Обязателен. Пример:5caf59ed...cddb8489COOKIE_SECRET— ключ для шифрования секретов пользователя в куках. Рекомендуется 32-байтный ключ (openssl rand -hex 32). Пример:397b6f3bf51a73b9...WEB_EDITOR_URL— адрес веб-редактора, используемый десктопным приложением для формирования ссылок на статьи, через «Поделиться статьей».
Также настройте подключение к SSO, ИИ-функции и логирование.
Для чувствительных данных (токены, пароли, ключи) используется Kubernetes Secret. Настройка делается через параметры:
secrets.create— создавать Secret автоматически средствами чарта.secrets.name— имя Secret для чтения переменных в подах.
Системные значения Helm-чарта
Настраиваются ресурсы сервисов (CPU и память) и параметры Ingress-доступа. Подробнее в статье.
Создание секретов
Docker конфиг
Секрет типа kubernetes.io/dockerconfigjson используется для загрузки приватных Docker-образов.
Получите учетные данные для реестра (токен с правами на
pull).Создайте секрет в целевом namespace:
kubectl create secret docker-registry regcred \ --namespace <your-namespace> \ --docker-server=<REGISTRY_URL> \ --docker-username=<USERNAME> \ --docker-password=<PASSWORD_OR_TOKEN> \ --docker-email=<EMAIL>
Секрет с переменными
Есть два сценария:
Secret создает чарт (
secrets.create: true).Используется заранее созданный Secret (
secrets.create: false,secrets.name: "<secret-name>").
Пример использования существующего Secret:
kubectl create secret generic gramax-app-secrets \ -n <namespace> \ --from-literal=COOKIE_SECRET='<...>' \ --from-literal=GIT_SERVER_TOKEN='<...>' \ --from-literal=ENTERPRISE_SERVICE_ENCRYPTION_KEY='<...>'
Установка чарта
После добавления и всех настроек можно установить чарт в ваш кластер Kubernetes.
helm install gramax gramax/gramax-enterprise-server-in-k8s -n <...> --create-namespace -f values.yaml
Пример установки c использованием существующего Secret:
helm install gramax gramax/gramax-enterprise-server-in-k8s \ -n <...> \ --create-namespace \ -f values.yaml \ --set secrets.create=false \ --set secrets.name=gramax-app-secrets