Расширенные настройки
Узнайте, как использовать расширенные функции в вашем приложении.
Этот раздел предназначен для опытных пользователей, которым необходимо управлять сложными конфигурациями и параметрами оркестрации в Skitflow. Здесь вы можете выполнять пользовательские команды, управлять репликами кластера, выбирать реестры Docker и настраивать параметры Docker Swarm.
Run Command
- Назначение: Позволяет пользователям выполнять пользовательские shell-команды непосредственно внутри контейнера.
- Использование: Введите необходимую команду в предоставленное поле и нажмите «Save» для её выполнения в среде контейнера. Этот инструмент особенно полезен для отладки или выполнения конкретных административных задач.
Cluster Settings
- Назначение: Управляет масштабированием и распределением приложения между несколькими серверами или узлами.
- Replicas: Установите количество экземпляров вашего приложения, которые должны работать.
- Registry Selection: Выберите реестр Docker, из которого будут загружаться образы контейнеров. Это критически важно для обеспечения использования правильных образов при развертывании.
Важное примечание
Всегда нажимайте «Redeploy» после изменения настроек кластера для применения изменений.
Swarm Settings
Настройки Swarm позволяют детально настраивать оркестрацию контейнеров в Docker Swarm.
Health Check
- Назначение: Обеспечивает бесперебойную работу контейнеров и перезапускает их в случае сбоя.
- Конфигурация: Укажите параметры, такие как тестовые команды, интервалы, таймауты, периоды запуска и количество повторных попыток.
Restart Policy
Определяет, как обрабатывать контейнеры при их завершении или сбое. Конфигурация включает:
- Condition: Указывает, при каком условии должен произойти перезапуск.
- Delay: Устанавливает задержку между перезапусками.
- Max Attempts: Ограничивает количество попыток перезапуска.
- Window: Определяет временное окно для оценки политики перезапуска.
Update Config
Управляет процессом развертывания и обновления сервисов в swarm. Конфигурация включает:
- Parallelism: Количество контейнеров, обновляемых одновременно.
- Delay: Время между обновлениями.
- Failure Action: Действие при сбое обновления.
- Monitor: Длительность мониторинга контейнера после обновления.
- Max Failure Ratio: Доля контейнеров, которым разрешено завершиться с ошибкой, прежде чем обновление считается неудачным.
- Order: Порядок остановки и запуска контейнеров во время обновления.
Placement
Контролирует размещение контейнеров в swarm на основе определенных правил и предпочтений. Конфигурация включает:
- Constraints: Условия, которые должны быть выполнены для размещения контейнера на узле.
- Preferences: Предпочтения для распределения контейнеров по узлам для равномерного распределения нагрузки.
Rollback Config
Управляет процессом отката сервисов при сбое обновлений. Конфигурация включает:
- Parallelism: Количество контейнеров, откатываемых одновременно.
- Delay: Время между откатами.
- FailureAction: Действие при сбое отката.
- Monitor: Длительность мониторинга контейнера после отката.
- MaxFailureRatio: Доля контейнеров, которым разрешено завершиться с ошибкой, прежде чем откат считается неудачным.
- Order: Порядок остановки и перезапуска контейнеров во время отката.
Mode
Определяет способ репликации сервисов в swarm. Конфигурация включает:
- Replicated: Сервисы реплицируются по узлам в соответствии с настройками.
- Replicas: Количество реплик на сервис.
- Global: Один экземпляр сервиса запускается на каждом узле.
- ReplicatedJob: Запускает задание в реплицированном режиме.
- MaxConcurrent: Максимальное количество одновременно выполняемых заданий.
- TotalCompletions: Общее количество завершений заданий.
Network
Настраивает сетевые параметры для сервисов. Конфигурация включает:
- Target: Указывает имя сети.
- Aliases: Предоставляет псевдонимы для сети.
- DriverOpts: Параметры сетевого драйвера, такие как размер MTU и привязка к хосту.
Labels
Назначает метаданные контейнерам для их идентификации и организации. Конфигурация включает:
- Labels: Пары ключ-значение, назначенные сервису. Например:
com.example.app.name: "my-app"com.example.app.version: "1.0.0"
Примечание
Изменение настроек Swarm требует тщательного рассмотрения, так как неправильные конфигурации могут нарушить работу всей оркестрации контейнеров. Всегда убедитесь, что вы понимаете последствия вносимых изменений.
Ресурсы
Управляйте ресурсами памяти и процессора, выделенными для ваших приложений или баз данных.
- Memory Reservation: Минимальный объем памяти, гарантированный приложению.
- Memory Limit: Максимальный объем памяти, который может использовать приложение.
- CPU Limit: Максимальное количество единиц процессора, которое может использовать приложение.
- CPU Reservation: Минимальное количество единиц процессора, зарезервированных для приложения.
Тома/Монтирование
Настройте постоянное хранилище для вашего приложения, чтобы данные сохранялись при перезапусках и развертываниях контейнеров.
Bind Mount: Сопоставляет файл или директорию хоста с файлом или директорией контейнера. Обычно используется для конкретных конфигураций или баз данных.
- Host Path: Путь на хосте.
- Mount Path: Путь в контейнере.
Volume Mount: Использует тома, управляемые Docker, которые проще резервировать и мигрировать по сравнению с bind mount.
- Volume Name: Имя тома, управляемого Docker.
- Mount Path: Путь в контейнере, куда монтируется том.
File Mount: Специально для отдельных файлов, полезно для конфигурационных файлов.
- Content: Содержимое для сохранения в файле.
- Mount Path: Путь в контейнере, куда помещается файл.
File mount — это функция Skitflow, которая создает файл в папке files внутри вашего проекта, поэтому он пересоздается при каждом развертывании.
Редиректы
Перенаправляйте запросы к вашему приложению на другой URL на основе заданных правил, повышая эффективность навигации и SEO.
- Regex: Введите регулярное выражение для сопоставления URL-адресов, требующих перенаправления.
- Replacement: Укажите целевой URL, на который должен быть перенаправлен трафик.
- Permanent: Включите эту опцию для применения постоянного перенаправления (HTTP 301), указывающего браузерам и поисковым системам, что страница была перемещена навсегда.
Пример
Для перенаправления всего трафика с "http://localhost" на "http://mydomain" установите Regex как http://localhost/(.*), а Replacement как http://mydomain/$1.
Безопасность
Добавьте базовую аутентификацию к вашему приложению для ограничения доступа.
- Username: Введите имя пользователя.
- Password: Введите пароль.
Важное примечание
Добавление базовой аутентификации потребует от пользователей ввода имени пользователя и пароля перед доступом к приложению. Используйте это для сред, где требуется дополнительный уровень безопасности.
Порты
Сделайте ваше приложение доступным из интернета, настроив сетевые порты для внешнего доступа.
- Published Port: Номер порта на хосте, который будет маршрутизировать трафик к вашему приложению.
- Target Port: Номер порта внутри контейнера, используемый приложением.
- Protocol: Выберите между TCP и UDP в зависимости от требований вашего приложения.
Важное примечание
Убедитесь, что опубликованный порт не конфликтует с другими сервисами на хосте, чтобы избежать ошибок привязки портов. Также этот порт используется в основном для доступа к приложению извне (ваш-ip:порт), а не для доступа к приложению через домен.
Traefik
Предоставляет динамичный и надежный метод управления HTTP-трафиком к вашим сервисам, включая балансировку нагрузки и SSL-терминацию.
- Rules: Определите сложные конфигурации маршрутизации, балансировки нагрузки и безопасности, используя мощную систему конфигурации на основе правил Traefik.