Использование 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).
Создание хранилища ключей
Создайте Azure Key Vault, следуя этому руководству, чтобы создать новый Azure Key Vault.
Создание трех секретов
ключ для хранения кластера для ключа хранилища.
ключ субъекта-службы для основного клиентского идентификатора или appId.
секрет для служебного принципала для секрета служебного принципала.
Предоставьте разрешение на доступ к Azure Key Vault с ролью "Офицер по управлению секретами Key Vault" для служебного принципала.
Настройка конвейера
Перейдите к проекту и щелкните "Параметры проекта".
Прокрутите вниз, выберите "Подключения службы", а затем "Создать подключение службы".
Выберите Azure Resource Manager.
В методах аутентификации выберите Сервисный принципал (вручную).
Измените свойства подключения службы. Выберите учетную запись службы, которую вы недавно создали.
Нажмите кнопку "Проверить, правильно ли настроено подключение". При возникновении следующей ошибки:
Затем необходимо назначить роль читателя подписке.
После этого проверка должна быть успешной.
Сохраните подключение службы.
Перейдите к конвейерам и щелкните "Создать конвейер".
Выберите GitHub в качестве расположения кода.
Выберите репозиторий. См. , как создать репозиторий на сайте GitHub. Изображение select-github-repo.
Выберите репозиторий. Дополнительную информацию см. в разделе "Как создать репозиторий на GitHub".
Из параметров настройки конвейера можно выбрать Существующий файл YAML Azure Pipelines. Выберите сценарий ветви и конвейера, скопированный ранее. (.pipeline/flink-azure-pipelines.yml)
Замените значение в разделе переменной.
Скорректируйте раздел сборки кода в соответствии с вашими требованиями и настройте <JOB_JAR_LOCAL_PATH> в разделе переменных для указания локального пути файла jar.
Добавьте переменную конвейера action и настройте значение RUN.
Вы можете изменить значения переменной перед запуском конвейера.
NEW: это значение по умолчанию. Он запускает новое задание и если задание уже запущено, оно обновляет выполняемую работу с помощью последнего jar-файла.
SAVEPOINT: это значение устанавливает точку сохранения для выполнения задания.
DELETE: отмена или удаление выполняемого задания.
Сохраните и запустите конвейер. Вы можете просмотреть выполняемую работу на портале в разделе "Задание Flink".
Заметка
Это один пример для отправки задания с помощью конвейера. Вы можете следовать документации по REST API Flink, чтобы написать собственный код для отправки задания.