Инструкции по развертыванию FlowCraft
В этом документе описаны различные способы развертывания платформы FlowCraft в различных средах, включая локальное развертывание, развертывание в Docker, Kubernetes и облачных провайдерах.
Требования к системе
Перед установкой FlowCraft убедитесь, что ваша система соответствует следующим минимальным требованиям:
Аппаратные требования
- CPU: 2+ ядра (рекомендуется 4+ ядер)
- RAM: Минимум 4 ГБ (рекомендуется 8+ ГБ)
- Дисковое пространство: Минимум 20 ГБ (рекомендуется SSD)
- Сеть: Стабильное подключение к интернету
Программные требования
- Операционная система:
- Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+)
- macOS 11+
- Windows 10/11 с WSL2
- Python: 3.10+
- PostgreSQL: 13+
- Redis: 6+
- Node.js: 16+
Варианты развертывания
FlowCraft предлагает несколько вариантов развертывания в зависимости от ваших потребностей:
- Локальная установка - установка непосредственно на сервер или рабочую станцию
- Docker - развертывание с использованием Docker и Docker Compose
- Kubernetes - развертывание в кластере Kubernetes
- Облачные провайдеры - развертывание в AWS, Azure, GCP
- FlowCraft Cloud - полностью управляемый сервис
Локальная установка
Подготовка окружения
Установка зависимостей
Для Ubuntu/Debian:
bashsudo apt update sudo apt install -y python3 python3-pip python3-venv postgresql postgresql-contrib redis-server nodejs npm
Для CentOS/RHEL:
bashsudo dnf install -y python3 python3-pip postgresql-server postgresql-contrib redis nodejs sudo postgresql-setup --initdb sudo systemctl start postgresql sudo systemctl enable postgresql sudo systemctl start redis sudo systemctl enable redis
Для macOS (с использованием Homebrew):
bashbrew install python postgresql redis node brew services start postgresql brew services start redis
Создание базы данных
bashsudo -u postgres psql -c "CREATE USER flowcraft WITH PASSWORD 'your_secure_password';" sudo -u postgres psql -c "CREATE DATABASE flowcraft OWNER flowcraft;" sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE flowcraft TO flowcraft;"
Настройка Redis
Убедитесь, что Redis запущен и доступен на порту 6379.
Установка FlowCraft
Клонирование репозитория
bashgit clone https://github.com/your-organization/flowcraft.git cd flowcraft
Создание виртуального окружения Python
bashpython3 -m venv venv source venv/bin/activate # На Windows: venv\Scripts\activate
Установка зависимостей Python
bashpip install -r requirements.txt
Установка зависимостей Node.js
bashcd frontend npm install npm run build cd ..
Настройка переменных окружения
Создайте файл
.env
в корневой директории проекта:# Основные настройки DEBUG=False SECRET_KEY=your_secure_secret_key ALLOWED_HOSTS=localhost,127.0.0.1 # База данных DATABASE_URL=postgresql://flowcraft:your_secure_password@localhost:5432/flowcraft # Redis REDIS_URL=redis://localhost:6379/0 # Настройки электронной почты EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend EMAIL_HOST=smtp.example.com EMAIL_PORT=587 EMAIL_USE_TLS=True EMAIL_HOST_USER=your_email@example.com EMAIL_HOST_PASSWORD=your_email_password DEFAULT_FROM_EMAIL=FlowCraft <noreply@example.com> # Настройки безопасности SECURE_SSL_REDIRECT=False SESSION_COOKIE_SECURE=False CSRF_COOKIE_SECURE=False
Применение миграций базы данных
bashpython manage.py migrate
Создание суперпользователя
bashpython manage.py createsuperuser
Сбор статических файлов
bashpython manage.py collectstatic --noinput
Запуск FlowCraft
Запуск веб-сервера
bashgunicorn flowcraft.wsgi:application --bind 0.0.0.0:8000 --workers 4
Запуск Celery для фоновых задач
bashcelery -A flowcraft worker --loglevel=info
Запуск Celery Beat для периодических задач
bashcelery -A flowcraft beat --loglevel=info
Настройка Nginx (опционально)
Для production-окружения рекомендуется использовать Nginx в качестве обратного прокси-сервера.
Установка Nginx
bashsudo apt install -y nginx # Для Ubuntu/Debian
Настройка Nginx
Создайте файл конфигурации
/etc/nginx/sites-available/flowcraft
:nginxserver { listen 80; server_name your_domain.com; location /static/ { alias /path/to/flowcraft/static/; } location /media/ { alias /path/to/flowcraft/media/; } location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Активация конфигурации
bashsudo ln -s /etc/nginx/sites-available/flowcraft /etc/nginx/sites-enabled/ sudo nginx -t # Проверка конфигурации sudo systemctl restart nginx
Настройка SSL с Let's Encrypt (рекомендуется)
bashsudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d your_domain.com
Настройка системных служб
Для автоматического запуска FlowCraft при загрузке системы рекомендуется настроить системные службы.
Создание службы для веб-сервера
Создайте файл
/etc/systemd/system/flowcraft-web.service
:ini[Unit] Description=FlowCraft Web Server After=network.target postgresql.service redis.service [Service] User=your_user Group=your_group WorkingDirectory=/path/to/flowcraft ExecStart=/path/to/flowcraft/venv/bin/gunicorn flowcraft.wsgi:application --bind 0.0.0.0:8000 --workers 4 Restart=on-failure [Install] WantedBy=multi-user.target
Создание службы для Celery Worker
Создайте файл
/etc/systemd/system/flowcraft-worker.service
:ini[Unit] Description=FlowCraft Celery Worker After=network.target postgresql.service redis.service [Service] User=your_user Group=your_group WorkingDirectory=/path/to/flowcraft ExecStart=/path/to/flowcraft/venv/bin/celery -A flowcraft worker --loglevel=info Restart=on-failure [Install] WantedBy=multi-user.target
Создание службы для Celery Beat
Создайте файл
/etc/systemd/system/flowcraft-beat.service
:ini[Unit] Description=FlowCraft Celery Beat After=network.target postgresql.service redis.service [Service] User=your_user Group=your_group WorkingDirectory=/path/to/flowcraft ExecStart=/path/to/flowcraft/venv/bin/celery -A flowcraft beat --loglevel=info Restart=on-failure [Install] WantedBy=multi-user.target
Активация и запуск служб
bashsudo systemctl daemon-reload sudo systemctl enable flowcraft-web flowcraft-worker flowcraft-beat sudo systemctl start flowcraft-web flowcraft-worker flowcraft-beat
Развертывание с использованием Docker
Предварительные требования
- Docker 20.10+
- Docker Compose 2.0+
Установка Docker и Docker Compose
Установка Docker
Для Ubuntu/Debian:
bashsudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install -y docker-ce sudo usermod -aG docker $USER
Для macOS и Windows скачайте Docker Desktop с официального сайта.
Установка Docker Compose
bashsudo curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
Развертывание FlowCraft
Клонирование репозитория
bashgit clone https://github.com/your-organization/flowcraft.git cd flowcraft
Настройка переменных окружения
Создайте файл
.env
в корневой директории проекта:# Основные настройки DEBUG=False SECRET_KEY=your_secure_secret_key ALLOWED_HOSTS=localhost,127.0.0.1 # База данных POSTGRES_DB=flowcraft POSTGRES_USER=flowcraft POSTGRES_PASSWORD=your_secure_password DATABASE_URL=postgresql://flowcraft:your_secure_password@db:5432/flowcraft # Redis REDIS_URL=redis://redis:6379/0 # Настройки электронной почты EMAIL_BACKEND=django.core.mail.backends.smtp.EmailBackend EMAIL_HOST=smtp.example.com EMAIL_PORT=587 EMAIL_USE_TLS=True EMAIL_HOST_USER=your_email@example.com EMAIL_HOST_PASSWORD=your_email_password DEFAULT_FROM_EMAIL=FlowCraft <noreply@example.com> # Настройки безопасности SECURE_SSL_REDIRECT=False SESSION_COOKIE_SECURE=False CSRF_COOKIE_SECURE=False
Запуск с Docker Compose
bashdocker-compose up -d
Это запустит следующие контейнеры:
- PostgreSQL
- Redis
- FlowCraft Web
- FlowCraft Worker
- FlowCraft Beat
- Nginx
Создание суперпользователя
bashdocker-compose exec web python manage.py createsuperuser
Проверка работоспособности
Откройте в браузере
http://localhost
илиhttp://your_server_ip
.
Обновление FlowCraft
Получение последних изменений
bashgit pull
Перезапуск контейнеров
bashdocker-compose down docker-compose up -d
Резервное копирование
Резервное копирование базы данных
bashdocker-compose exec db pg_dump -U flowcraft flowcraft > backup_$(date +%Y%m%d).sql
Резервное копирование файлов
bashdocker-compose exec web tar -czf /tmp/media_backup_$(date +%Y%m%d).tar.gz /app/media docker cp $(docker-compose ps -q web):/tmp/media_backup_$(date +%Y%m%d).tar.gz .
Развертывание в Kubernetes
Предварительные требования
- Кластер Kubernetes 1.19+
- kubectl
- Helm 3+
Подготовка кластера
Установка Helm
bashcurl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
Добавление репозитория FlowCraft
bashhelm repo add flowcraft https://charts.flowcraft.io helm repo update
Установка FlowCraft с помощью Helm
Создание файла values.yaml
Создайте файл
values.yaml
с настройками:yamlglobal: environment: production domain: flowcraft.example.com postgresql: enabled: true postgresqlUsername: flowcraft postgresqlPassword: your_secure_password postgresqlDatabase: flowcraft persistence: enabled: true size: 10Gi redis: enabled: true password: your_secure_redis_password persistence: enabled: true size: 5Gi web: replicaCount: 2 resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi env: SECRET_KEY: your_secure_secret_key EMAIL_HOST: smtp.example.com EMAIL_PORT: "587" EMAIL_USE_TLS: "True" EMAIL_HOST_USER: your_email@example.com EMAIL_HOST_PASSWORD: your_email_password DEFAULT_FROM_EMAIL: FlowCraft <noreply@example.com> worker: replicaCount: 2 resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi beat: resources: requests: cpu: 100m memory: 256Mi limits: cpu: 200m memory: 512Mi ingress: enabled: true annotations: kubernetes.io/ingress.class: nginx cert-manager.io/cluster-issuer: letsencrypt-prod hosts: - host: flowcraft.example.com paths: - path: / pathType: Prefix tls: - secretName: flowcraft-tls hosts: - flowcraft.example.com persistence: enabled: true size: 10Gi backup: enabled: true schedule: "0 2 * * *" retention: 7
Установка FlowCraft
bashhelm install flowcraft flowcraft/flowcraft -f values.yaml
Проверка установки
bashkubectl get pods kubectl get services kubectl get ingress
Обновление FlowCraft
helm repo update
helm upgrade flowcraft flowcraft/flowcraft -f values.yaml
Масштабирование
# Масштабирование веб-серверов
kubectl scale deployment flowcraft-web --replicas=4
# Масштабирование воркеров
kubectl scale deployment flowcraft-worker --replicas=4
Мониторинг
Для мониторинга FlowCraft в Kubernetes рекомендуется использовать Prometheus и Grafana.
Установка Prometheus и Grafana
bashhelm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm install prometheus prometheus-community/kube-prometheus-stack
Настройка мониторинга FlowCraft
Создайте файл
servicemonitor.yaml
:yamlapiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: flowcraft namespace: default spec: selector: matchLabels: app.kubernetes.io/name: flowcraft endpoints: - port: http interval: 30s path: /metrics
Примените конфигурацию:
bashkubectl apply -f servicemonitor.yaml
Развертывание в облачных провайдерах
Amazon Web Services (AWS)
Развертывание с использованием Elastic Beanstalk
Подготовка приложения
Создайте файл
Procfile
в корневой директории проекта:web: gunicorn flowcraft.wsgi:application --bind 0.0.0.0:8000 --workers 4 worker: celery -A flowcraft worker --loglevel=info beat: celery -A flowcraft beat --loglevel=info
Создайте файл
.ebextensions/01_packages.config
:yamlpackages: yum: postgresql-devel: [] python3-devel: [] gcc: []
Создайте файл
.ebextensions/02_python.config
:yamlcontainer_commands: 01_migrate: command: "source /var/app/venv/*/bin/activate && python manage.py migrate --noinput" leader_only: true 02_collectstatic: command: "source /var/app/venv/*/bin/activate && python manage.py collectstatic --noinput" leader_only: true
Создание окружения Elastic Beanstalk
bashpip install awsebcli eb init -p python-3.8 flowcraft eb create flowcraft-production
Настройка переменных окружения
basheb setenv \ SECRET_KEY=your_secure_secret_key \ DATABASE_URL=postgresql://user:password@your-rds-instance.amazonaws.com:5432/flowcraft \ REDIS_URL=redis://your-elasticache-instance.amazonaws.com:6379/0 \ EMAIL_HOST=smtp.example.com \ EMAIL_PORT=587 \ EMAIL_USE_TLS=True \ EMAIL_HOST_USER=your_email@example.com \ EMAIL_HOST_PASSWORD=your_email_password \ DEFAULT_FROM_EMAIL=FlowCraft <noreply@example.com>
Развертывание приложения
basheb deploy
Развертывание с использованием ECS
Создание ECR репозитория
bashaws ecr create-repository --repository-name flowcraft
Сборка и отправка Docker образа
bashaws ecr get-login-password --region your-region | docker login --username AWS --password-stdin your-account-id.dkr.ecr.your-region.amazonaws.com docker build -t your-account-id.dkr.ecr.your-region.amazonaws.com/flowcraft:latest . docker push your-account-id.dkr.ecr.your-region.amazonaws.com/flowcraft:latest
Создание кластера ECS
Используйте AWS Management Console или AWS CLI для создания кластера ECS, определения задач и сервисов.
Google Cloud Platform (GCP)
Развертывание с использованием Google Kubernetes Engine (GKE)
Создание кластера GKE
bashgcloud container clusters create flowcraft-cluster --num-nodes=3 --zone=us-central1-a
Настройка kubectl
bashgcloud container clusters get-credentials flowcraft-cluster --zone=us-central1-a
Развертывание FlowCraft с помощью Helm
Следуйте инструкциям из раздела "Развертывание в Kubernetes".
Развертывание с использованием Cloud Run
Сборка Docker образа
bashgcloud builds submit --tag gcr.io/your-project-id/flowcraft
Развертывание на Cloud Run
bashgcloud run deploy flowcraft --image gcr.io/your-project-id/flowcraft --platform managed --region us-central1 --allow-unauthenticated
Microsoft Azure
Развертывание с использованием Azure Kubernetes Service (AKS)
Создание кластера AKS
bashaz aks create --resource-group your-resource-group --name flowcraft-cluster --node-count 3 --enable-addons monitoring --generate-ssh-keys
Настройка kubectl
bashaz aks get-credentials --resource-group your-resource-group --name flowcraft-cluster
Развертывание FlowCraft с помощью Helm
Следуйте инструкциям из раздела "Развертывание в Kubernetes".
Развертывание с использованием Azure App Service
Создание App Service
bashaz webapp up --sku B2 --name flowcraft --resource-group your-resource-group
Настройка переменных окружения
bashaz webapp config appsettings set --name flowcraft --resource-group your-resource-group --settings \ SECRET_KEY=your_secure_secret_key \ DATABASE_URL=postgresql://user:password@your-azure-db.postgres.database.azure.com:5432/flowcraft \ REDIS_URL=redis://your-azure-redis.redis.cache.windows.net:6380,password=your_password,ssl=True,abortConnect=False \ EMAIL_HOST=smtp.example.com \ EMAIL_PORT=587 \ EMAIL_USE_TLS=True \ EMAIL_HOST_USER=your_email@example.com \ EMAIL_HOST_PASSWORD=your_email_password \ DEFAULT_FROM_EMAIL=FlowCraft <noreply@example.com>
FlowCraft Cloud
FlowCraft Cloud - это полностью управляемый сервис, который позволяет использовать FlowCraft без необходимости установки и обслуживания инфраструктуры.
Регистрация и создание аккаунта
- Перейдите на cloud.flowcraft.io
- Нажмите "Зарегистрироваться" и заполните форму регистрации
- Подтвердите свой email
- Войдите в систему
Создание рабочего пространства
- После входа в систему нажмите "Создать рабочее пространство"
- Введите название рабочего пространства и выберите тарифный план
- Настройте параметры рабочего пространства
- Нажмите "Создать"
Приглашение пользователей
- В панели управления рабочим пространством перейдите в раздел "Пользователи"
- Нажмите "Пригласить пользователя"
- Введите email пользователя и выберите роль
- Нажмите "Отправить приглашение"
Управление подпиской
- В панели управления рабочим пространством перейдите в раздел "Биллинг"
- Просмотрите текущий тарифный план и использование ресурсов
- При необходимости измените тарифный план или обновите платежную информацию
Обновление FlowCraft
Обновление локальной установки
Резервное копирование
bashpg_dump -U flowcraft flowcraft > backup_$(date +%Y%m%d).sql tar -czf media_backup_$(date +%Y%m%d).tar.gz /path/to/flowcraft/media
Получение последних изменений
bashcd /path/to/flowcraft git pull
Обновление зависимостей
bashsource venv/bin/activate pip install -r requirements.txt cd frontend npm install npm run build cd ..
Применение миграций
bashpython manage.py migrate
Сбор статических файлов
bashpython manage.py collectstatic --noinput
Перезапуск служб
bashsudo systemctl restart flowcraft-web flowcraft-worker flowcraft-beat
Обновление Docker-установки
Резервное копирование
bashdocker-compose exec db pg_dump -U flowcraft flowcraft > backup_$(date +%Y%m%d).sql docker-compose exec web tar -czf /tmp/media_backup_$(date +%Y%m%d).tar.gz /app/media docker cp $(docker-compose ps -q web):/tmp/media_backup_$(date +%Y%m%d).tar.gz .
Получение последних изменений
bashcd /path/to/flowcraft git pull
Перезапуск контейнеров
bashdocker-compose down docker-compose up -d
Обновление Kubernetes-установки
Обновление Helm-чарта
bashhelm repo update helm upgrade flowcraft flowcraft/flowcraft -f values.yaml
Мониторинг и обслуживание
Мониторинг
FlowCraft предоставляет API для мониторинга состояния системы. Вы можете использовать различные инструменты для мониторинга:
Prometheus и Grafana
FlowCraft экспортирует метрики в формате Prometheus по адресу
/metrics
. Вы можете настроить Prometheus для сбора этих метрик и визуализировать их в Grafana.ELK Stack
Для централизованного сбора и анализа логов рекомендуется использовать ELK Stack (Elasticsearch, Logstash, Kibana).
Встроенный мониторинг
FlowCraft имеет встроенную панель мониторинга, доступную по адресу
/admin/monitoring/
.
Резервное копирование и восстановление
Резервное копирование
База данных
bash# Локальная установка pg_dump -U flowcraft flowcraft > backup_$(date +%Y%m%d).sql # Docker docker-compose exec db pg_dump -U flowcraft flowcraft > backup_$(date +%Y%m%d).sql # Kubernetes kubectl exec -it $(kubectl get pods -l app=postgresql -o jsonpath="{.items[0].metadata.name}") -- pg_dump -U flowcraft flowcraft > backup_$(date +%Y%m%d).sql
Файлы
bash# Локальная установка tar -czf media_backup_$(date +%Y%m%d).tar.gz /path/to/flowcraft/media # Docker docker-compose exec web tar -czf /tmp/media_backup_$(date +%Y%m%d).tar.gz /app/media docker cp $(docker-compose ps -q web):/tmp/media_backup_$(date +%Y%m%d).tar.gz . # Kubernetes kubectl exec -it $(kubectl get pods -l app=flowcraft-web -o jsonpath="{.items[0].metadata.name}") -- tar -czf /tmp/media_backup_$(date +%Y%m%d).tar.gz /app/media kubectl cp $(kubectl get pods -l app=flowcraft-web -o jsonpath="{.items[0].metadata.name}"):/tmp/media_backup_$(date +%Y%m%d).tar.gz .
Восстановление
База данных
bash# Локальная установка psql -U flowcraft flowcraft < backup_20250424.sql # Docker cat backup_20250424.sql | docker-compose exec -T db psql -U flowcraft flowcraft # Kubernetes cat backup_20250424.sql | kubectl exec -i $(kubectl get pods -l app=postgresql -o jsonpath="{.items[0].metadata.name}") -- psql -U flowcraft flowcraft
Файлы
bash# Локальная установка tar -xzf media_backup_20250424.tar.gz -C /path/to/flowcraft/ # Docker docker cp media_backup_20250424.tar.gz $(docker-compose ps -q web):/tmp/ docker-compose exec web tar -xzf /tmp/media_backup_20250424.tar.gz -C /app/ # Kubernetes kubectl cp media_backup_20250424.tar.gz $(kubectl get pods -l app=flowcraft-web -o jsonpath="{.items[0].metadata.name}"):/tmp/ kubectl exec -it $(kubectl get pods -l app=flowcraft-web -o jsonpath="{.items[0].metadata.name}") -- tar -xzf /tmp/media_backup_20250424.tar.gz -C /app/
Оптимизация производительности
Оптимизация базы данных
bash# Локальная установка psql -U flowcraft flowcraft -c "VACUUM ANALYZE;" # Docker docker-compose exec db psql -U flowcraft flowcraft -c "VACUUM ANALYZE;" # Kubernetes kubectl exec -it $(kubectl get pods -l app=postgresql -o jsonpath="{.items[0].metadata.name}") -- psql -U flowcraft flowcraft -c "VACUUM ANALYZE;"
Настройка кэширования
Для улучшения производительности рекомендуется настроить кэширование:
python# settings.py CACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': os.environ.get('REDIS_URL', 'redis://localhost:6379/1'), 'OPTIONS': { 'CLIENT_CLASS': 'django_redis.client.DefaultClient', } } }
Масштабирование
В зависимости от нагрузки, вы можете масштабировать различные компоненты FlowCraft:
- Увеличение количества воркеров Gunicorn
- Увеличение количества воркеров Celery
- Горизонтальное масштабирование (добавление новых серверов)
- Вертикальное масштабирование (увеличение ресурсов существующих серверов)
Устранение неполадок
Общие проблемы и их решения
Проблемы с подключением к базе данных
Симптомы: Ошибки подключения к базе данных, сообщения об ошибках в логах.
Решение:
- Проверьте настройки подключения к базе данных
- Убедитесь, что база данных запущена и доступна
- Проверьте права доступа пользователя базы данных
Проблемы с Redis
Симптомы: Ошибки подключения к Redis, проблемы с выполнением фоновых задач.
Решение:
- Проверьте настройки подключения к Redis
- Убедитесь, что Redis запущен и доступен
- Проверьте использование памяти Redis
Проблемы с выполнением задач Celery
Симптомы: Задачи не выполняются, зависают или выполняются с ошибками.
Решение:
- Проверьте логи Celery
- Убедитесь, что воркеры Celery запущены
- Проверьте подключение к брокеру сообщений (Redis)
Проблемы с доступом к веб-интерфейсу
Симптомы: Веб-интерфейс недоступен или работает некорректно.
Решение:
- Проверьте логи веб-сервера
- Убедитесь, что веб-сервер запущен и доступен
- Проверьте настройки Nginx или другого прокси-сервера
Логи и их анализ
Логи веб-сервера
bash# Локальная установка tail -f /path/to/flowcraft/logs/web.log # Docker docker-compose logs -f web # Kubernetes kubectl logs -f $(kubectl get pods -l app=flowcraft-web -o jsonpath="{.items[0].metadata.name}")
Логи Celery
bash# Локальная установка tail -f /path/to/flowcraft/logs/celery.log # Docker docker-compose logs -f worker # Kubernetes kubectl logs -f $(kubectl get pods -l app=flowcraft-worker -o jsonpath="{.items[0].metadata.name}")
Логи базы данных
bash# Локальная установка tail -f /var/log/postgresql/postgresql-13-main.log # Docker docker-compose logs -f db # Kubernetes kubectl logs -f $(kubectl get pods -l app=postgresql -o jsonpath="{.items[0].metadata.name}")
Диагностические инструменты
Проверка состояния системы
bash# Локальная установка curl http://localhost:8000/api/v1/system/status # Docker curl http://localhost/api/v1/system/status # Kubernetes kubectl port-forward svc/flowcraft-web 8000:80 curl http://localhost:8000/api/v1/system/status
Проверка подключения к базе данных
bash# Локальная установка psql -U flowcraft -h localhost -d flowcraft -c "SELECT 1;" # Docker docker-compose exec db psql -U flowcraft -d flowcraft -c "SELECT 1;" # Kubernetes kubectl exec -it $(kubectl get pods -l app=postgresql -o jsonpath="{.items[0].metadata.name}") -- psql -U flowcraft -d flowcraft -c "SELECT 1;"
Проверка подключения к Redis
bash# Локальная установка redis-cli ping # Docker docker-compose exec redis redis-cli ping # Kubernetes kubectl exec -it $(kubectl get pods -l app=redis -o jsonpath="{.items[0].metadata.name}") -- redis-cli ping
Заключение
В этом документе были описаны различные способы развертывания платформы FlowCraft в различных средах. Выбор конкретного способа зависит от ваших потребностей, имеющихся ресурсов и опыта.
Для небольших команд и тестирования рекомендуется использовать локальную установку или Docker. Для production-окружений с высокой нагрузкой рекомендуется использовать Kubernetes или облачные провайдеры.
Если вы не хотите заниматься установкой и обслуживанием инфраструктуры, рекомендуется использовать FlowCraft Cloud - полностью управляемый сервис, который позволяет сосредоточиться на создании и выполнении рабочих процессов.