Бөлісу құралы:


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

Примечание.

Мы отставим Azure HDInsight в AKS 31 января 2025 г. До 31 января 2025 г. необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого прекращения рабочих нагрузок. Оставшиеся кластеры в подписке будут остановлены и удалены из узла.

До даты выхода на пенсию будет доступна только базовая поддержка.

Внимание

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

В этой статье вы узнаете, как использовать 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, который вы хотите использовать.

  • Возможность запуска конвейеров на размещенных корпорацией Майкрософт агентах. Чтобы использовать агенты, размещенные Корпорацией Майкрософт, ваша организация 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. Создание трех секретов

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

    • service-principal-key для субъекта clientId или 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, чтобы написать собственный код для отправки задания.