Требования и подготовка
Минимальные требования
- Kubernetes кластер версии >= 1.16.0
- Наличие StorageClass для создания PersistentVolumeClaim (PVC)
- Доступные ресурсы в кластере для запуска всех компонентов
Минимальные требования к нодам
Для корректной работы приложения (с учетом изоляции компонентов системы друг от друга) требуется как минимум 3 ноды:
- 1 нода с лейблом
app-worker-api— для API, фронтенда и Redis - 1 нода с лейблом
app-worker-calc— для фоновых заданий и прогона агрегаций - 1 нода с лейблом
app-worker-scan— для запуска сканов
Минимальные характеристики нод
Каждая из 3-х нод желательно должна соответствовать следующим критериям:
- 8 CPU
- 16GB RAM
- SSD/SAN disk 60GB (минимум 300 IOPS read/write)
Примечание: Требования к диску особенно критичны для нод app-worker-api и app-worker-calc,
так как они активно выполняют операции чтения и записи на диск.
Требуемые PVC
В зависимости от конфигурации, в Kubernetes необходимы следующие PVC:
- vFiles (обязательно) - для хранения файлов
- vPostgres (опционально, если используется встроенная БД) - для базы данных PostgreSQL
- vRedis (опционально, если используется встроенный Redis) - для кэша и очередей
Установка необходимых инструментов
Перед началом развёртывания необходимо установить следующие инструменты на локальной машине:
-
kubectl - инструмент командной строки для работы с Kubernetes
- Инструкция по установке: https://kubernetes.io/docs/tasks/tools/#kubectl
-
helm - пакетный менеджер для Kubernetes
- Инструкция по установке: https://helm.sh/docs/intro/install/
- Требуемая версия: Helm 3.x
Настройка доступа к кластеру
Получите конфигурационный файл вашего Kubernetes кластера и настройте доступ одним из способов:
- Разместите файл в директории по умолчанию:
~/.kube/config - ИЛИ установите переменную окружения:
export KUBECONFIG=/path/to/your/k8s.conf - ИЛИ используйте флаг в каждой команде:
--kubeconfig=/path/to/your/k8s.conf
Проверьте подключение к кластеру: