Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Установка Stackland на Yandex BareMetal через PXE
    • Установка Stackland на виртуальные машины в Yandex Cloud
    • Настройка внешнего доступа к поду в кластере
    • Проверка подписи собственных образов
    • Все инструкции
        • Включить Managed Service for Apache Airflow™
        • Создать кластер Apache Airflow™
        • Изменить настройки кластера Apache Airflow™
        • Получить учетные данные администратора Apache Airflow™
        • Открыть веб-интерфейс Apache Airflow™
        • Загрузить DAG-файлы в Apache Airflow™
        • Запустить DAG в Apache Airflow™
        • Посмотреть результаты и логи задач Apache Airflow™
        • Настроить Connections в Apache Airflow™
        • Настроить Variables в Apache Airflow™
        • Сохранить и восстановить Connections и Variables в Apache Airflow™
        • Приостановить или возобновить кластер Apache Airflow™
        • Удалить кластер Apache Airflow™
        • Устранение неполадок Apache Airflow™
        • Отключить Managed Service for Apache Airflow™
    • Проекты
    • Ресурсная модель
    • Масштабирование кластера
    • Лицензирование
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

В этой статье:

  • Перед началом
  • Экспортировать настройки
  • Восстановить настройки
  1. Пошаговые инструкции
  2. Оркестрация данных
  3. Managed Service for Apache Airflow™
  4. Сохранить и восстановить Connections и Variables в Apache Airflow™

Сохранить и восстановить Connections и Variables в Apache Airflow™

Статья создана
Yandex Cloud
Обновлена 16 октября 2026 г.
Открыть в Markdown
  • Перед началом
  • Экспортировать настройки
  • Восстановить настройки

Перед удалением кластера или переносом DAG сохраните Connections и Variables из его базы метаданных. Для полной выгрузки значений в Apache Airflow™ 3.1.8 используйте CLI. В UI нет экспорта Connections, а экспорт Variables может содержать замаскированные значения.

Выгрузка включает настройки из базы метаданных. История запусков, DAG-файлы, логи, конфигурация кластера и значения из окружения или внешнего хранилища секретов в нее не входят. Сохраните их отдельно, если они нужны для переноса.

Перед началомПеред началом

Подготовьте kubectl с доступом к установке и локальный Python 3 для проверки JSON. Нужны права на чтение AirflowCluster, получение списка подов и выполнение команд в подах (pods/exec). Учетных данных веб-интерфейса Apache Airflow™ для этой операции недостаточно; при отсутствии доступа обратитесь к администратору установки.

  1. Убедитесь, что исходный кластер находится в состоянии Ready. При необходимости возобновите его.

  2. На время выгрузки прекратите изменение Connections и Variables: две команды экспорта не создают общий атомарный снимок.

  3. Получите UID кластера:

    kubectl get airflowcluster <имя_кластера> \
      -n <пространство_имен> \
      -o jsonpath='{.metadata.uid}'
    
  4. Найдите работающий под API server:

    kubectl get pods -n <пространство_имен> \
      -l 'tier=airflow,component=api-server,airflow.stackland.yandex.cloud/owner-uid=<UID_кластера>'
    

    Используйте имя пода со всеми готовыми контейнерами в следующих командах.

Экспортировать настройкиЭкспортировать настройки

Важно

Файлы экспорта содержат расшифрованные пароли и секретные значения. Сохраняйте их в каталоге с ограниченным доступом, не добавляйте в репозиторий и не передавайте через логи или сообщения.

  1. Создайте новый локальный каталог для копии и перейдите в него. Выполните команды в одном терминале:

    umask 077
    mkdir airflow-settings-backup
    cd airflow-settings-backup
    
  2. Экспортируйте Connections:

    kubectl exec <имя_пода> -n <пространство_имен> \
      -c api-server -- \
      airflow connections export - --file-format json > connections.json
    
  3. Экспортируйте Variables:

    kubectl exec <имя_пода> -n <пространство_имен> \
      -c api-server -- \
      airflow variables export - > variables.json
    

    Обе команды должны завершиться успешно. Сообщение о количестве экспортированных записей выводится отдельно от JSON.

  4. Проверьте, что файлы содержат корректный JSON, не выводя значения на экран:

    python3 -m json.tool connections.json > /dev/null
    python3 -m json.tool variables.json > /dev/null
    
  5. Сопоставьте количество выгруженных записей с ожидаемым. Пустой JSON-объект {} допустим только в том случае, если в базе действительно нет соответствующих настроек. Для проверки переноса восстановите копию в подготовленном кластере и проверьте использующие ее DAG до удаления исходного кластера.

Восстановить настройкиВосстановить настройки

  1. Создайте целевой кластер, установите нужные providers и зависимости и дождитесь Ready. Найдите его под API server так же, как для исходного кластера. В следующих командах используйте пространство имен и под именно целевого кластера.

  2. Из локального каталога с копией передайте JSON-файлы в под:

    kubectl exec -i <под_целевого_кластера> -n <пространство_имен> \
      -c api-server -- sh -c 'umask 077; cat > /tmp/airflow-connections.json' < connections.json
    kubectl exec -i <под_целевого_кластера> -n <пространство_имен> \
      -c api-server -- sh -c 'umask 077; cat > /tmp/airflow-variables.json' < variables.json
    
  3. Импортируйте настройки:

    kubectl exec <под_целевого_кластера> -n <пространство_имен> \
      -c api-server -- airflow connections import /tmp/airflow-connections.json
    kubectl exec <под_целевого_кластера> -n <пространство_имен> \
      -c api-server -- airflow variables import \
      --action-on-existing-key skip /tmp/airflow-variables.json
    

    Эти команды сохраняют существующие записи при совпадении идентификаторов. Прочитайте результат импорта: отдельные записи могут быть пропущены или завершиться ошибкой. Если требуется намеренно заменить существующие настройки, предварительно сохраните их, затем используйте --overwrite для Connections и --action-on-existing-key overwrite для Variables.

  4. В веб-интерфейсе целевого кластера откройте Admin → Connections и Admin → Variables. Проверьте наличие нужных идентификаторов. Загрузите DAG и выполните проверочный запуск, чтобы подтвердить доступ к внешним системам и чтение переменных.

  5. После импорта удалите временные файлы из пода:

    kubectl exec <под_целевого_кластера> -n <пространство_имен> \
      -c api-server -- rm /tmp/airflow-connections.json /tmp/airflow-variables.json
    

Храните локальную копию в соответствии с правилами вашей организации. Подробнее о командах — в справочнике CLI Apache Airflow™.

Была ли статья полезна?

Предыдущая
Настроить Variables в Apache Airflow™
Следующая
Приостановить или возобновить кластер Apache Airflow™
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»