Требования Kubernetes¶
Кластер¶
| Требование | Значение |
|---|---|
| Kubernetes | 1.25 и выше |
| Helm | 3.x |
| kubectl | доступ к целевому namespace |
Зависимости чарта¶
Перед установкой выполните в каталоге чарта:
helm dependency build .
Subcharts (подключаются по условию в values):
| Subchart | Условие | Назначение |
|---|---|---|
cloudnative-pg (cnpg) |
cnpg.enabled: true |
Оператор и Cluster PostgreSQL |
| seaweedfs | seaweedfs.enabled: true |
In-cluster S3 |
| ingress-nginx | ingressNginx.enabled: true |
Ingress controller в namespace release |
Хранилище¶
- StorageClass с поддержкой
ReadWriteOnceдля PVC core, CNPG и SeaweedFS allInOne. - Размеры по умолчанию: core data
8Gi, CNPG20Gi, SeaweedFS allInOne10Gi— переопределяются в values.
CloudNative-PG¶
При database.mode: cnpg:
cnpg.cluster.enabled: trueобязателен;- если CRD оператора уже установлены в кластере —
cnpg.crds.create: false; - пароль bootstrap БД задаётся в
credentials.database.password, не дублируется вcnpg.*.
Сеть и Ingress¶
- Production: используйте существующий Ingress controller кластера (
ingressNginx.enabled: false). - Dev/test без общего ingress:
ingressNginx.enabled: trueи согласованныйingress.ingressClassName(см. configuration).
Рекомендуемые annotations для больших артефактов:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
Образы¶
Образы по умолчанию:
registry.appsec.global/appsec-registry/coreregistry.appsec.global/appsec-registry/ui
Для pull из private registry настройте imagePullSecrets (create: true с dockerconfigjson или create: false + существующий Secret).
Ресурсы (defaults)¶
| Компонент | requests | limits |
|---|---|---|
| registryCore | 8 CPU, 8 Gi | 16 CPU, 16 Gi |
| registryUi | 50m CPU, 10 Mi | 65m CPU, 50 Mi |
Для dev/test профилей ресурсы можно уменьшить в values.
Права¶
При serviceAccount.create: true чарт создаёт ServiceAccount для pod'ов. Для External Secrets Operator (credentials.provider: externalSecrets) требуется настроенный SecretStore в кластере.