Пререквизиты для установки Закрома.Диск
Перед установкой Закрома.Диск необходимо подготовить хранилище.
Хранилище предоставляется в Закрома.Хранение.
- В Закрома.Хранение создайте секретный ключ, который будет использоваться для подключения.
- Выберите или создайте рабочую область, к которой будет подключаться Закрома.Диск.
- Добавьте политику доступа для пользователя.
Установка компонентов
Установка Закрома.Диск производится с помощью Helm. Необходимо последовательно установить следующие чарты:
zakroma-disk-dslocks
zakroma-disk-dsdrive
zakroma-disk-webdav
zakroma-disk-web-ui
Для каждого helm-чарта необходимо создать файл my-values.yml
с параметрами конфигурации.
После создания файла выполните установку helm-чарта с указанием namespace, в котором будет располагаться Закрома.Диск:
helm upgrade --install zakroma-disk-dslocks . -f my-values.yml -n test-zakroma-disk
helm upgrade --install zakroma-disk-dsdrive . -f my-values.yml -n test-zakroma-disk
helm upgrade --install zakroma-disk-webdav . -f my-values.yml -n test-zakroma-disk
helm upgrade --install zakroma-disk-web-ui . -f my-values.yml -n test-zakroma-disk
При установке каждый файл необходимо переименовать в my-values.yml
и использовать вместе с соответствующим чартом.
Примеры my-values с параметрами
Пример dslocks-values-example.yml
1image: 2 repository: registry.digital-spirit.ru/zakroma/zakroma-disk/services/dslocks # Путь к образу в репозитории 3 tag: "latest" # Тэг образа 4 5imagePullSecrets: 6 - name: regcred # Название секрета для доступа к репозиторию 7 8config: # Секция конфигурации сервиса. На её основе будет создан секрет, монтируемый в контейнер 9 env: dev # "Режим работы сервиса (dev, test, prod)." 10 log: 11 title: zakroma-disk # "Название приложения в логах. По умолчанию zakroma-disk." 12 level: debug # "Уровень логирования (debug/info/warn/error/panic/fatal, по умолчанию info)." 13 format: text # "Формат логов (json/text, по умолчанию json)." 14 color: false # "Использовать ли цветовую разметку в логах (true/false)." 15 http: 16 port: 80 # "Порт сервера." 17 number_of_concurrent_connections: 99999 # "Максимальное количество одновременных соединений. Значение по умолчанию 100000." 18 use_ssl: false # "Использовать ли SSL для веб-сервера (true/false). Значение по умолчанию false." 19 auth: 20 access_key_id: keyid 21 access_key: key
Пример webdav-values-example.yml
1image: 2 repository: registry.digital-spirit.ru/zakroma/zakroma-disk/services/dslocks # Путь к образу в репозитории 3 tag: "latest" # Тэг образа 4 5imagePullSecrets: 6 - name: regcred # Название секрета для доступа к репозиторию 7 8ingress: # Секция ингресса. Если отсутствует, то ингресс будет отключен 9 enabled: false # Включить ли ингресс 10 className: "nginx" # Класс ингресса 11 annotations: 12 cert-manager.io/cluster-issuer: "letsencrypt" # Имя кластерного механизма выдачи сертификатов 13 nginx.ingress.kubernetes.io/client-body-buffer-size: 512k 14 nginx.ingress.kubernetes.io/proxy-body-size: '0' 15 nginx.ingress.kubernetes.io/proxy-buffer-size: 512k 16 nginx.ingress.kubernetes.io/proxy-buffering: 'off' 17 nginx.ingress.kubernetes.io/proxy-request-buffering: 'off' 18 hosts: 19 - host: zakroma-disk-webdav.example.com # Домен сервиса 20 paths: 21 - path: / 22 pathType: ImplementationSpecific 23 servicePortName: http 24 tls: 25 - secretName: zakroma-disk-webdav.example.com-tls # Имя секрета с сертификатами для ингресса 26 hosts: 27 - zakroma-disk-webdav.example.com # Домены для которых будут выданы сертификаты
Пример web-ui-values-example.yml
1image: 2 repository: registry.digital-spirit.ru/zakroma/zakroma-disk/services/dslocks # Путь к образу в репозитории 3 tag: "latest" # Тэг образа 4 5imagePullSecrets: 6 - name: regcred # Название секрета для доступа к репозиторию 7 8ingress: # Секция ингресса. Если отсутствует, то ингресс будет отключен 9 enabled: true # Включить ли ингресс 10 className: "nginx" # Класс ингресса 11 annotations: 12 cert-manager.io/cluster-issuer: "letsencrypt" # Имя кластерного механизма выдачи сертификатов 13 nginx.ingress.kubernetes.io/client-body-buffer-size: 512k 14 nginx.ingress.kubernetes.io/proxy-body-size: '0' 15 nginx.ingress.kubernetes.io/proxy-buffer-size: 512k 16 nginx.ingress.kubernetes.io/proxy-buffering: 'off' 17 nginx.ingress.kubernetes.io/proxy-request-buffering: 'off' 18 hosts: 19 - host: zakroma-disk-ui.example.com # Домен сервиса 20 paths: 21 - path: / 22 pathType: ImplementationSpecific 23 servicePortName: http 24 tls: 25 - secretName: zakroma-disk-ui.example.com-tls # Имя секрета с сертификатами для ингресса 26 hosts: 27 - zakroma-disk-ui.example.com # Домены для которых будут выданы сертификаты
Пример dsdrive-values-example.yml
1image: 2 repository: registry.digital-spirit.ru/zakroma/zakroma-disk/services/dslocks # Путь к образу в репозитории 3 tag: "latest" # Тэг образа 4 5imagePullSecrets: