Jak używać usługi Azure Pipelines z usługą Apache Flink® w usłudze HDInsight w usłudze AKS
Uwaga
Wycofamy usługę Azure HDInsight w usłudze AKS 31 stycznia 2025 r. Przed 31 stycznia 2025 r. należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure, aby uniknąć nagłego zakończenia obciążeń. Pozostałe klastry w ramach subskrypcji zostaną zatrzymane i usunięte z hosta.
Tylko podstawowa pomoc techniczna będzie dostępna do daty wycofania.
Ważne
Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure obejmują więcej warunków prawnych, które dotyczą funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje o tej konkretnej wersji zapoznawczej, zobacz Informacje o wersji zapoznawczej usługi Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie w usłudze AskHDInsight , aby uzyskać szczegółowe informacje i postępuj zgodnie z nami, aby uzyskać więcej aktualizacji w społeczności usługi Azure HDInsight.
W tym artykule dowiesz się, jak używać usługi Azure Pipelines z usługą HDInsight w usłudze AKS do przesyłania zadań Flink za pomocą interfejsu API REST klastra. Przeprowadzimy Cię przez proces przy użyciu przykładowego potoku YAML i skryptu programu PowerShell, który usprawnia automatyzację interakcji interfejsu API REST.
Wymagania wstępne
Subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatne konto.
Konto usługi GitHub, na którym można utworzyć repozytorium. Utwórz je bezpłatnie.
Tworzenie
.pipeline
katalogu, kopiowanie flink-azure-pipelines.yml i flink-job-azure-pipeline.ps1Organizacja usługi Azure DevOps. Utwórz go bezpłatnie. Jeśli twój zespół już go ma, upewnij się, że jesteś administratorem projektu usługi Azure DevOps, którego chcesz użyć.
Możliwość uruchamiania potoków na agentach hostowanych przez firmę Microsoft. Aby korzystać z agentów hostowanych przez firmę Microsoft, organizacja usługi Azure DevOps musi mieć dostęp do zadań równoległych hostowanych przez firmę Microsoft. Możesz kupić zadanie równoległe lub zażądać bezpłatnej dotacji.
Klaster Flink. Jeśli go nie masz, utwórz klaster Flink w usłudze HDInsight w usłudze AKS.
Utwórz jeden katalog na koncie magazynu klastra, aby skopiować plik jar zadania. Ten katalog należy później skonfigurować w potoku YAML dla lokalizacji pliku jar zadania (<JOB_JAR_STORAGE_PATH>).
Kroki konfigurowania potoku
Tworzenie jednostki usługi dla usługi Azure Pipelines
Utwórz jednostkę usługi Microsoft Entra w celu uzyskania dostępu do platformy Azure — udziel uprawnień dostępu do usługi HDInsight w klastrze usługi AKS z rolą Współautor, zanotuj identyfikator appId, hasło i dzierżawę z odpowiedzi.
az ad sp create-for-rbac -n <service_principal_name> --role Contributor --scopes <Flink Cluster Resource ID>`
Przykład:
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`
Odwołanie
Uwaga
Nazwy projektów apache, Apache Flink, Flink i skojarzone z nimi są znakami towarowymi programu Apache Software Foundation (ASF).
Tworzenie magazynu kluczy
Utwórz usługę Azure Key Vault. Możesz skorzystać z tego samouczka , aby utworzyć nową usługę Azure Key Vault.
Tworzenie trzech wpisów tajnych
klaster-storage-key dla klucza magazynu.
service-principal-key dla identyfikatora klienta jednostki lub appId.
klucz tajny jednostki usługi dla klucza tajnego jednostki.
Udziel uprawnień dostępu do usługi Azure Key Vault za pomocą roli "Key Vault Secrets Officer" dla jednostki usługi.
Potok instalacji
Przejdź do projektu i kliknij pozycję Ustawienia projektu.
Przewiń w dół i wybierz pozycję Połączenia z usługą, a następnie pozycję Nowe połączenie z usługą.
Wybierz pozycję Azure Resource Manager.
W metodzie uwierzytelniania wybierz pozycję Jednostka usługi (ręcznie).
Edytuj właściwości połączenia usługi. Wybierz niedawno utworzoną jednostkę usługi.
Kliknij przycisk Weryfikuj, aby sprawdzić, czy połączenie zostało poprawnie skonfigurowane. Jeśli wystąpi następujący błąd:
Następnie musisz przypisać rolę Czytelnik do subskrypcji.
Następnie weryfikacja powinna zakończyć się pomyślnie.
Zapisywanie połączenia z usługą.
Przejdź do potoków i kliknij pozycję Nowy potok.
Wybierz pozycję GitHub jako lokalizację kodu.
Wybierz repozytorium . Zobacz , jak utworzyć repozytorium w usłudze GitHub. obraz select-github-repo.
Wybierz repozytorium . Aby uzyskać więcej informacji, zobacz How to create a repository in GitHub (Jak utworzyć repozytorium w usłudze GitHub).
W obszarze skonfiguruj opcję potoku możesz wybrać pozycję Istniejący plik YAML usługi Azure Pipelines. Wybierz skopiowany wcześniej skrypt gałęzi i potoku. (.pipeline/flink-azure-pipelines.yml)
Zastąp wartość w sekcji zmiennej.
Popraw sekcję kompilacji kodu na podstawie wymagań i skonfiguruj <JOB_JAR_LOCAL_PATH> w sekcji zmiennej dla ścieżki lokalnej pliku jar zadania.
Dodaj zmienną potoku "action" i skonfiguruj wartość "RUN".
Wartości zmiennej można zmienić przed uruchomieniem potoku.
NOWY: Ta wartość jest domyślna. Uruchamia nowe zadanie, a jeśli zadanie jest już uruchomione, aktualizuje uruchomione zadanie przy użyciu najnowszego pliku jar.
SAVEPOINT: Ta wartość przyjmuje punkt zapisywania dla uruchomionego zadania.
DELETE: Anuluj lub usuń uruchomione zadanie.
Zapisz i uruchom potok. Uruchomione zadanie można wyświetlić w portalu w sekcji Zadanie Flink.
Uwaga
Jest to jeden z przykładów do przesłania zadania przy użyciu potoku. Możesz postępować zgodnie z dokumentem interfejsu API REST Flink, aby napisać własny kod do przesłania zadania.