Параметры чарта (values.yaml)#
В этом разделе описан полный набор параметров, которые можно задать в файле values.yaml для чарта gs-ctk. Вы можете переопределить их при вызове helm install/upgrade через --set или передав свой values.yaml.
Основные настройки развёртывания#
imageRepository– реестр Docker-образов (без тега).
По умолчанию:"dockerhub.global-system.ru".imageTag– тег образов. Если не задан, используется версия Helm-чарта.
По умолчанию:"".imagePullSecret– имя секрета Kubernetes для доступа к реестру (если требуется авторизация).
По умолчанию:"".imageMode– режим формирования ссылок на образы:tag– старый режим:imageRepository:imageTag.digestAuto– digest рабочих образов берутся из встроенного вnsctllock-файла (рекомендуется).digestManual– digest берутся из параметраimageDigests.
По умолчанию:"tag".
imageDigests– список digest для ручного режима. Каждый элемент имеет вид:- image: nsctl digest: sha256:...
По умолчанию: пустой список.
deploymentType– какие ресурсы создавать:cluster– только ресурсы уровня кластера (namespace, RBAC).namespace– только ресурсы уровня пространства имён (контроллер пространства, ConfigMap).both– всё вместе.
По умолчанию:"both".
timezone– часовой пояс для подов.
По умолчанию:"Europe/Moscow".nsctlDebugEnabled– включить отладку дляnsctl(больше логов).
По умолчанию:false.namespaceSuffix– суффикс, добавляемый к имени Helm-релиза, чтобы получить имя namespace.
По умолчанию:"".privilegedSubjects– список субъектов (User, Group, ServiceAccount), которым даются права на управлениеGlobalConfigurationи ресурсами в namespace.
Пример:- kind: User name: gs_admin
По умолчанию: пустой список.
overrideNsctlServiceAccount– переопределить ServiceAccount для подаnsctl(обычно создаётся автоматически).
По умолчанию:"".overrideWorkerServiceAccount– переопределить ServiceAccount для рабочих подов (например,globalserver).
По умолчанию:"".podAnnotations,podLabels– дополнительные аннотации и лейблы для всех подов.
По умолчанию: пустые словари.nodeSelector,tolerations,affinity– стандартные параметры для размещения подов на узлах.
По умолчанию: пустые.nsctlResources– запросы и лимиты ресурсов для подаnsctl.
Пример:requests: cpu: 1 memory: 1G limits: cpu: 1 memory: 1G
Это же значение по умолчанию.
Системное хранилище (systemVolume)#
Обязательный блок, описывающий NFS-шару для хранения комплектов приложений.
systemVolume:
nfs:
server: "10.10.0.1" # IP или DNS NFS-сервера
path: "/export" # путь на сервере
Управление секретами#
addSecrets– создавать ли стандартный набор секретов (администратор Global и т.д.).
По умолчанию:false.secrets– словарь, где ключ – имя секрета, а значение – его спецификация (как в ресурсеSecret).
Пример:
addSecrets: true
secrets:
gs-admin-auth:
type: kubernetes.io/basic-auth
stringData:
username: admin
password: "PLACEHOLDER"
Осторожно
Напоминаем, что хранить секреты в файле values.yaml, особенно в git-репозитории, небезопасно. Все чувствительные данные передавайте через переменные CI/CD или другие безопасные инструменты, такие как SOPS или внешние операторы типа Sealed Secrets.
Конфигурация группы ресурсов (helmResgroup)#
Кластерная утилита синхронизирует ресурсы кластера с настройками, описанными в GlobalConfigration и NamespacedGlobalConfiguration. Helm-чартом может быть создан конфигурационный ресурс по умолчанию с переопределением настройками из values.yaml. Для создания ресурса, необходимо добавить:
helmResgroup:
enabled: true
database_url: jdbc:postgresql://database.local/global
appvol:
path: /app
server: nfs.local
type: nfs
Если указать enabled: false, то конфигурационный ресурс создаваться не будет.
Созданный конфигурационный ресурс будет содержать большинство книг по умолчанию. Он будет использовать те секреты, что создаются чартом по умолчанию при использовании addSecrets: true.
Вы можете переопределять параметры дальше, добавляя нужные настройки. Например, включить Java 21 и увеличить количество реплик:
helmResgroup:
java_version: "21"
resbooks:
- name: global-server-share
replicas: 10
type: global_server_share
...