Использование 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).
Создание хранилища ключей
Создайте Azure Key Vault, чтобы создать Azure Key Vault, выполните инструкции из этого руководства .
Создание трех секретов
Ключ хранилища кластера для ключа хранилища.
service-principal-key для субъекта clientId или 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, чтобы написать собственный код для отправки задания.