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
    • Serverless Integrations
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 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™
        • Приостановить или возобновить кластер Apache Airflow™
        • Удалить кластер Apache Airflow™
        • Устранение неполадок Apache Airflow™
        • Отключить Managed Service for Apache Airflow™
    • Проекты
    • Ресурсная модель
    • Масштабирование кластера
    • Лицензирование
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

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

  • Перед началом
  • Через CLI
  • Приватный Git-репозиторий
  • Внешнее S3-хранилище
  • Дальнейшие действия
  1. Пошаговые инструкции
  2. Оркестрация данных
  3. Managed Service for Apache Airflow™
  4. Создать кластер Apache Airflow™

Создать кластер Apache Airflow™

Статья создана
Yandex Cloud
Обновлена 23 сентября 2026 г.
Открыть в Markdown
  • Перед началом
  • Через CLI
  • Приватный Git-репозиторий
  • Внешнее S3-хранилище
  • Дальнейшие действия

Кластер Apache Airflow™ создается ресурсом AirflowCluster в пространстве имен проекта. Перед созданием кластера администратор установки должен включить Managed Service for Apache Airflow™.

База метаданных создается автоматически. Настраивать подключение к базе не требуется.

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

Подготовьте:

  • пространство имен проекта;
  • Git-репозиторий с DAG-файлами или S3-совместимое хранилище;
  • S3-совместимое хранилище, если нужны удаленные логи задач;
  • Secret с учетными данными, если используется приватный Git-репозиторий или внешнее S3-хранилище.

Создайте Secret и ConfigMap, на которые ссылается конфигурация, в том же пространстве имен, что и AirflowCluster.

Для автоматически создаваемых бакетов должен быть включен компонент Object Storage.

Проверьте доступные версии Apache Airflow™:

kubectl get airflowimagecatalog airflow \
  -o jsonpath='{range .spec.images[*]}{.version}{"\n"}{end}'

Если команда не выводит версии, посмотрите структуру ресурса: kubectl get airflowimagecatalog airflow -o yaml.

Через CLIЧерез CLI

  1. Создайте файл ресурса AirflowCluster, например airflow-cluster.yaml, и вставьте одну из конфигураций:

    Git и локальные логи
    Object Storage для DAG и логов

    Пример использует публичный Git-репозиторий и локальные логи задач.

    apiVersion: airflow.stackland.yandex.cloud/v1alpha1
    kind: AirflowCluster
    metadata:
      name: airflow-demo
    spec:
      version: "3.1.8"
      dags:
        source: git
        git:
          repo: https://github.com/example/airflow-dags.git
          ref: main
      publicAccess: true
      deletionProtection: true
    

    Пример создает отдельные бакеты для DAG-файлов и логов задач. DAG-файлы загружаются из префикса dags/ в бакете.

    apiVersion: airflow.stackland.yandex.cloud/v1alpha1
    kind: AirflowCluster
    metadata:
      name: airflow-demo
    spec:
      version: "3.1.8"
      dags:
        source: s3
        s3:
          type: stackland-storage
          stacklandStorage:
            subPath: dags/
      taskLogs:
        type: stackland-storage
        stacklandStorage:
          subPath: logs/
      publicAccess: true
      deletionProtection: true
    
  2. Укажите имя кластера в metadata.name и доступную версию в spec.version. Для Git-источника замените URL репозитория и значение ref на свои.

    В обоих примерах включены публичный доступ к веб-интерфейсу (spec.publicAccess: true) и защита от удаления (spec.deletionProtection: true). При необходимости измените эти параметры.

  3. Примените манифест:

    kubectl apply -f airflow-cluster.yaml -n <пространство_имен>
    

    Пространство имен также можно указать в metadata.namespace манифеста и не передавать параметр -n в команде.

  4. Дождитесь состояния Ready, подставив имя кластера из metadata.name:

    kubectl get airflowcluster <имя_кластера> \
      -n <пространство_имен> \
      -w
    
  5. Если кластер долго остается в Provisioning или переходит в Failed, проверьте условия состояния в status.conditions:

    kubectl describe airflowcluster <имя_кластера> -n <пространство_имен>
    

    Рекомендации приведены в разделе Устранение неполадок.

Приватный Git-репозиторийПриватный Git-репозиторий

Для HTTPS создайте Secret с фиксированными ключами username и password:

kubectl create secret generic airflow-git-auth \
  -n <пространство_имен> \
  --from-literal=username=<имя_пользователя> \
  --from-literal=password=<токен_или_пароль>

Добавьте ссылку в spec.dags.git.authSecretRef манифеста:

spec:
  dags:
    source: git
    git:
      repo: https://git.example.com/team/airflow-dags.git
      ref: main
      authSecretRef:
        name: airflow-git-auth

Для SSH Secret должен содержать ключ ssh-privatekey, а ConfigMap — ключ known_hosts:

spec:
  dags:
    source: git
    git:
      repo: git@git.example.com:team/airflow-dags.git
      ref: main
      authSecretRef:
        name: airflow-git-ssh
      knownHostsConfigMapRef:
        name: airflow-git-known-hosts

Интервал синхронизации Git и S3 составляет 60 секунд и не настраивается.

Внешнее S3-хранилищеВнешнее S3-хранилище

Создайте Secret с ключами доступа:

kubectl create secret generic airflow-s3-credentials \
  -n <пространство_имен> \
  --from-literal=access-key-id=<идентификатор_ключа> \
  --from-literal=secret-access-key=<секретный_ключ>

Для DAG-файлов задайте в spec:

spec:
  dags:
    source: s3
    s3:
      type: s3
      s3:
        bucket: airflow-dags
        region: ru-central1
        endpointUrl: https://storage.yandexcloud.net
        credentialsSecretRef:
          name: airflow-s3-credentials
          accessKeyIdPath: access-key-id
          secretAccessKeyPath: secret-access-key
        subPath: dags/

Для удаленных логов задайте в spec поле taskLogs:

spec:
  taskLogs:
    type: s3
    s3:
      bucket: airflow-logs
      region: ru-central1
      endpointUrl: https://storage.yandexcloud.net
      credentialsSecretRef:
        name: airflow-s3-credentials
        accessKeyIdPath: access-key-id
        secretAccessKeyPath: secret-access-key
      subPath: logs/

Дальнейшие действияДальнейшие действия

  • Получите учетные данные администратора.
  • Откройте веб-интерфейс Apache Airflow™.
  • Измените настройки кластера, если требуется настроить ресурсы или зависимости.

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

Предыдущая
Включить Managed Service for Apache Airflow™
Следующая
Изменить настройки кластера Apache Airflow™
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»