Поделиться через


Использование Azure Pipelines с Apache Flink® и HDInsight на AKS

Важный

Azure HDInsight в AKS отключено 31 января 2025 г. Дополнительные сведения в этом объявлении.

Необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого завершения рабочих нагрузок.

Важный

Эта функция сейчас доступна в предварительной версии. Дополнительные условия использования для предварительных версий Microsoft Azure включают дополнительные юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Информацию о конкретной предварительной версии Azure HDInsight на AKS см. в . Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за дополнительными обновлениями в Azure HDInsight Community.

В этой статье вы узнаете, как использовать Azure Pipelines с HDInsight в AKS для отправки заданий Flink через REST API кластера. Мы рекомендуем выполнить процесс с помощью примера конвейера YAML и скрипта PowerShell, что упрощает автоматизацию взаимодействия REST API.

Необходимые условия

  • Подписка Azure. Если у вас нет подписки Azure, создайте бесплатную учетную запись.

  • Учетная запись GitHub, в которой можно создать репозиторий. создать его бесплатно.

  • Создайте каталог .pipeline, скопируйте flink-azure-pipelines.yml и flink-job-azure-pipeline.ps1

  • Организация Azure DevOps. Создайте его бесплатно. Если у вашей команды уже есть один, убедитесь, что вы являетесь администратором проекта Azure DevOps, который вы хотите использовать.

  • Возможность запуска пайплайнов на агентах, хостируемых Microsoft. Чтобы использовать агенты, размещенные Корпорацией Майкрософт, ваша организация Azure DevOps должна иметь доступ к размещенным в Майкрософт параллельным заданиям. Вы можете приобрести параллельное задание или запросить бесплатное предоставление.

  • Кластер Flink. Если у вас еще не создан, создайте кластер Flink в HDInsight в AKS.

  • Создайте один каталог в учетной записи хранения кластера для копирования jar-файла задания. Позже этот каталог необходимо настроить в YAML конвейера для указания местоположения jar-файла задания (<JOB_JAR_STORAGE_PATH>).

Шаги по настройке конвейера

Создание субъекта-службы для Azure Pipelines

Создайте основной объект службы Microsoft Entra для доступа к Azure. Предоставьте разрешение на доступ к HDInsight в кластере AKS с ролью сотрудника. Запишите идентификатор приложения, пароль и идентификатор арендатора из ответа.

az ad sp create-for-rbac -n <service_principal_name> --role Contributor --scopes <Flink Cluster Resource ID>`

Пример:

az ad sp create-for-rbac -n azure-flink-pipeline --role Contributor --scopes /subscriptions/abdc-1234-abcd-1234-abcd-1234/resourceGroups/myResourceGroupName/providers/Microsoft.HDInsight/clusterpools/hiloclusterpool/clusters/flinkcluster`

Ссылка

Заметка

Имена проектов Apache, Apache Flink, Flink и связанные с ними проекты с открытым кодом являются товарными знакамиApache Software Foundation (ASF).

Создание хранилища ключей

  1. Создайте Azure Key Vault, следуя этому руководству, чтобы создать новый Azure Key Vault.

  2. Создание трех секретов

    • ключ для хранения кластера для ключа хранилища.

    • ключ субъекта-службы для основного клиентского идентификатора или appId.

    • секрет для служебного принципала для секрета служебного принципала.

    снимок экрана, показывающий, как создать хранилище ключей.

  3. Предоставьте разрешение на доступ к Azure Key Vault с ролью "Офицер по управлению секретами Key Vault" для служебного принципала.

Настройка конвейера

  1. Перейдите к проекту и щелкните "Параметры проекта".

  2. Прокрутите вниз, выберите "Подключения службы", а затем "Создать подключение службы".

  3. Выберите Azure Resource Manager.

    снимок экрана, показывающий, как выбрать новое подключение к службе.

  4. В методах аутентификации выберите Сервисный принципал (вручную).

    снимок экрана: новое подключение к службе.

  5. Измените свойства подключения службы. Выберите учетную запись службы, которую вы недавно создали.

    Снимок экрана, показывающий, как изменить подключение к службе.

  6. Нажмите кнопку "Проверить, правильно ли настроено подключение". При возникновении следующей ошибки:

    снимок экрана: сообщение об ошибке подключения службы.

  7. Затем необходимо назначить роль читателя подписке.

  8. После этого проверка должна быть успешной.

  9. Сохраните подключение службы.

    снимок экрана, показывающий, как просмотреть идентификатор клиента.

  10. Перейдите к конвейерам и щелкните "Создать конвейер".

    снимок экрана, показывающий, как создать новый конвейер.

  11. Выберите GitHub в качестве расположения кода.

  12. Выберите репозиторий. См. , как создать репозиторий на сайте GitHub. Изображение select-github-repo.

    Снимок экрана, демонстрирующий, как искать в вашем коде.

  13. Выберите репозиторий. Дополнительную информацию см. в разделе "Как создать репозиторий на GitHub".

    снимок экрана, показывающий, как выбрать репозиторий GitHub.

  14. Из параметров настройки конвейера можно выбрать Существующий файл YAML Azure Pipelines. Выберите сценарий ветви и конвейера, скопированный ранее. (.pipeline/flink-azure-pipelines.yml)

    снимок экрана: настройка конвейера.

  15. Замените значение в разделе переменной.

    снимок экрана, показывающий, как заменить значение.

  16. Скорректируйте раздел сборки кода в соответствии с вашими требованиями и настройте <JOB_JAR_LOCAL_PATH> в разделе переменных для указания локального пути файла jar.

    снимок экрана: раздел сборки кода.

  17. Добавьте переменную конвейера action и настройте значение RUN.

    Снимок экрана показывает, как добавить переменную конвейера.

    Вы можете изменить значения переменной перед запуском конвейера.

    • NEW: это значение по умолчанию. Он запускает новое задание и если задание уже запущено, оно обновляет выполняемую работу с помощью последнего jar-файла.

    • SAVEPOINT: это значение устанавливает точку сохранения для выполнения задания.

    • DELETE: отмена или удаление выполняемого задания.

  18. Сохраните и запустите конвейер. Вы можете просмотреть выполняемую работу на портале в разделе "Задание Flink".

    Снимок экрана показывает, как сохранить и запустить проводку.

Заметка

Это один пример для отправки задания с помощью конвейера. Вы можете следовать документации по REST API Flink, чтобы написать собственный код для отправки задания.