Tworzenie standardowych przepływów pracy aplikacji logiki na potrzeby wdrożenia hybrydowego we własnej infrastrukturze (wersja zapoznawcza)
Dotyczy: Azure Logic Apps (Standardowa)
Uwaga
Ta funkcja jest dostępna w wersji zapoznawczej, powoduje naliczanie opłat za użycie i podlega dodatkowym warunkom użytkowania dla wersji zapoznawczych platformy Microsoft Azure.
W scenariuszach, w których musisz używać, kontrolować i zarządzać własną infrastrukturą, możesz utworzyć standardowe przepływy pracy aplikacji logiki przy użyciu hybrydowego modelu wdrażania w usłudze Azure Logic Apps. Ten model zapewnia możliwości tworzenia i hostowania rozwiązań integracji dla częściowo połączonych środowisk, które wymagają lokalnego przetwarzania, magazynu i dostępu do sieci. Infrastruktura może obejmować systemy lokalne, chmury prywatne i chmury publiczne. W przypadku modelu hybrydowego przepływ pracy aplikacji logiki w warstwie Standardowa jest obsługiwany przez środowisko uruchomieniowe usługi Azure Logic Apps, które jest hostowane lokalnie w ramach rozszerzenia usługi Azure Container Apps.
Aby zapoznać się z omówieniem architektury pokazującym, gdzie są hostowane przepływy pracy aplikacji logiki w warstwie Standardowa i działają w częściowo połączonym środowisku, zobacz Konfigurowanie wymagań dotyczących infrastruktury dla wdrożenia hybrydowego dla standardowych aplikacji logiki.
W tym przewodniku z instrukcjami pokazano, jak utworzyć i wdrożyć przepływ pracy standardowej aplikacji logiki przy użyciu hybrydowego modelu wdrażania po skonfigurowaniu niezbędnych zasobów lokalnych do hostowania aplikacji.
Ograniczenia
Wdrożenie hybrydowe aplikacji logiki w warstwie Standardowa jest dostępne i obsługiwane tylko w tych samych regionach co usługa Azure Container Apps w usłudze Azure Arc z obsługą usługi AKS.
Obecnie następujące możliwości nie są dostępne w tej wersji zapoznawczej:
- Uwierzytelnianie tożsamości zarządzanej
- Dostęp do oprogramowania SAP za pośrednictwem wbudowanego łącznika SAP
- Kod niestandardowy języka C# z programem .NET Framework i wbudowaną akcją o nazwie Wywołaj funkcję lokalną w tej aplikacji logiki
- XSLT 1.0 dla kodu niestandardowego
Klastry Kubernetes z obsługą usługi Azure Arc obecnie nie obsługują uwierzytelniania tożsamości zarządzanej dla połączeń interfejsu API zarządzanego. Zamiast tego musisz utworzyć własną rejestrację aplikacji przy użyciu identyfikatora Entra firmy Microsoft. Aby uzyskać więcej informacji, wykonaj te kroki w dalszej części tego przewodnika.
Niektóre wyzwalacze oparte na funkcjach, takie jak Azure Blob, Cosmos DB i Event Hubs, wymagają połączenia z kontem usługi Azure Storage skojarzonym z aplikacją logiki w warstwie Standardowa. Jeśli używasz jakichkolwiek wyzwalaczy opartych na funkcjach, w zmiennych środowiskowych standardowej aplikacji logiki w witrynie Azure Portal lub w pliku local.settings.json projektu aplikacji logiki w programie Visual Studio Code dodaj następujące ustawienie aplikacji i podaj konto magazynu parametry połączenia:
"Values": { "name": "AzureWebJobsStorage", "value": "{storage-account-connection-string}" }
Wymagania wstępne
Konto i subskrypcja platformy Azure. Jeśli nie masz subskrypcji, zarejestruj się w celu założenia bezpłatnego konta platformy Azure.
Następujące zasoby lokalne, które muszą istnieć w tej samej sieci w celu uzyskania wymaganej łączności:
- Klaster usługi Azure Kubernetes Service połączony z usługą Azure Arc
- Baza danych SQL do lokalnego przechowywania historii uruchamiania przepływu pracy, danych wejściowych i wyjściowych na potrzeby przetwarzania
- Udział plików bloku komunikatów serwera (SMB) do lokalnego przechowywania artefaktów używanych przez przepływy pracy
Aby spełnić te wymagania, skonfiguruj te zasoby lokalne w celu obsługi wdrożenia hybrydowego dla aplikacji logiki w warstwie Standardowa.
Do pracy w programie Visual Studio Code potrzebne jest rozszerzenie usługi Azure Logic Apps (Standard) dla programu Visual Studio Code z powiązanymi wymaganiami wstępnymi.
Napiwek
Jeśli masz nową instalację programu Visual Studio Code, upewnij się, że możesz lokalnie uruchomić podstawowy przepływ pracy w warstwie Standardowa przed podjęciem próby wdrożenia we własnej infrastrukturze. Ten przebieg testu pomaga wyizolować wszelkie błędy, które mogą istnieć w projekcie przepływu pracy w warstwie Standardowa.
Tworzenie standardowej aplikacji logiki
Po spełnieniu wymagań wstępnych utwórz aplikację logiki w warstwie Standardowa na potrzeby wdrożenia hybrydowego, wykonując następujące kroki:
W polu wyszukiwania w witrynie Azure Portal wprowadź aplikacje logiki i wybierz pozycję Aplikacje logiki.
Na pasku narzędzi strony Aplikacje logiki wybierz pozycję Dodaj.
Na stronie Tworzenie aplikacji logiki w obszarze Standardowa wybierz pozycję Hybryda.
Na stronie Tworzenie aplikacji logiki (hybrydowej) podaj następujące informacje:
Właściwości Wymagania Wartość Opis Subskrypcja Tak <Azure-subscription-name> Nazwa subskrypcji platformy Azure.
W tym przykładzie użyto płatności zgodnie z rzeczywistym użyciem.Grupa zasobów Tak <Azure-resource-group-name> Grupa zasobów platformy Azure, w której tworzysz aplikację hybrydową i powiązane zasoby. Ta nazwa musi być unikatowa w różnych regionach i może zawierać tylko litery, cyfry, łączniki (-), podkreślenia (_), nawiasy (()) i kropki (.).
W tym przykładzie zostanie utworzona grupa zasobów o nazwie Hybrid-RG.Nazwa aplikacji logiki Tak <logic-app-name> Nazwa aplikacji logiki, która musi być unikatowa w różnych regionach i może zawierać tylko małe litery, cyfry lub łączniki (-).
W tym przykładzie użyto środowiska my-logic-app-hybrid.Region Tak <Region świadczenia usługi Azure> Region platformy Azure obsługiwany w przypadku aplikacji kontenerów platformy Azure w usłudze Azure Arc z obsługą usługi AKS.
W tym przykładzie użyto wschodnich stanów USA.Środowisko połączone z aplikacją kontenera Tak <nazwa środowiska połączonego> Klaster Kubernetes z obsługą usługi Arc utworzony jako środowisko wdrażania dla aplikacji logiki. Aby uzyskać więcej informacji, zobacz Samouczek: włączanie usługi Azure Container Apps na platformie Kubernetes z obsługą usługi Azure Arc. Konfigurowanie ustawień magazynu Tak Włączone lub wyłączone W dalszym ciągu na karcie Magazyn na stronie Tworzenie aplikacji logiki (hybrydowej). Poniższy przykład przedstawia stronę tworzenia aplikacji logiki w witrynie Azure Portal z przykładowymi wartościami:
Na stronie Magazyn podaj następujące informacje o dostawcy magazynu i udziale plików SMB, który został wcześniej skonfigurowany:
Właściwości Wymagania Wartość Opis Parametry połączenia SQL Tak <sql-server-connection-string> Program SQL Server parametry połączenia, który został wcześniej zapisany. Aby uzyskać więcej informacji, zobacz Tworzenie dostawcy magazynu programu SQL Server. Nazwa hosta Tak <file-share-host-name> Nazwa hosta udziału plików SMB. Ścieżka udziału plików Tak <ścieżka udziału plików> Ścieżka udziału plików dla udziału plików SMB. Nazwa użytkownika Tak <file-share-user-name> Nazwa użytkownika udziału plików SMB. Hasło Tak <file-share-password> Hasło udziału plików SMB. Po zakończeniu wybierz pozycję Przejrzyj i utwórz. Potwierdź podane informacje i wybierz pozycję Utwórz.
Po zakończeniu wdrażania platformy Azure wybierz pozycję Przejdź do zasobu.
Uwaga
W portalu istnieje kilka znanych problemów dotyczących standardowych aplikacji logiki korzystających z opcji hostingu hybrydowego. Te aplikacje logiki są wyświetlane z etykietą Aplikacja kontenera, która różni się od standardowych aplikacji logiki korzystających z opcji hostingu plan usługi przepływu pracy lub środowiska App Service Environment w wersji 3. Aby uzyskać więcej informacji, zobacz Znane problemy i rozwiązywanie problemów — Azure Portal.
W witrynie Azure Portal w menu zasobów w obszarze Przepływy pracy wybierz pozycję Przepływy pracy.
Na pasku narzędzi strony Przepływy pracy wybierz pozycję Dodaj, aby dodać pusty stanowy lub bezstanowy przepływ pracy.
Po otworze projektanta skompiluj przepływ pracy, dodając wyzwalacz i akcje.
Aby uzyskać więcej informacji, zobacz Tworzenie przepływu pracy za pomocą wyzwalacza i akcji.
Uwaga
Aplikacja logiki w warstwie Standardowa z opcją hostingu hybrydowego automatycznie tworzy nową wersję, która jest koncepcją przechowywania wersji z usługi Azure Container Apps przy każdym zapisywaniu zmian w podrzędnym przepływie pracy. Aktywacja tej poprawki może zająć trochę czasu, co oznacza, że po zapisaniu zmian może być konieczne odczekanie kilku chwil przed przetestowaniem przepływu pracy.
Jeśli zmiany nadal nie zostały wyświetlone w przepływie pracy, możesz sprawdzić, czy poprawka istnieje:
W menu zasobów w obszarze Poprawki wybierz pozycję Poprawki i repliki.
Na stronie Poprawki i repliki na karcie Aktywne poprawki sprawdź, czy na liście pojawia się nowa poprawka.
Aby uzyskać więcej informacji, zobacz następujące zasoby:
Zmienianie alokacji procesora CPU i pamięci w witrynie Azure Portal
Aby edytować ustawienia procesora CPU i pamięci dla zasobu aplikacji logiki w warstwie Standardowa, wykonaj następujące kroki:
W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.
W menu zasobów w obszarze Ustawienia wybierz pozycję Kontenery.
Na pasku narzędzi strony Kontenery wybierz pozycję Edytuj i wdróż, co spowoduje otwarcie okienka Edytowanie kontenera.
Na karcie Właściwości w obszarze Alokacja zasobów kontenera zmień następujące wartości, aby pasowały do danego scenariusza:
Właściwości Wartość Opis Rdzenie procesora CPU - Wartość domyślna: 1
- Minimum: 0,25
- Maksimum: 2Określa rdzenie procesora CPU do przypisania do wystąpienia kontenera. Tę wartość można zwiększyć o 0,25 rdzeni do maksymalnej wartości. Łączna liczba wszystkich wystąpień kontenera dla tej aplikacji logiki jest ograniczona do 2 rdzeni. Pamięć - Wartość domyślna: 2
- Minimum: 0,1
- Maksimum: 4Określa pojemność pamięci w gibibajtach (Gi) do przypisania do wystąpienia kontenera. Możesz zwiększyć tę wartość o 0,1 Gi do maksymalnej wartości. Łączna pojemność wszystkich wystąpień kontenerów dla tej aplikacji logiki jest ograniczona do 4 Gi. Po zakończeniu wybierz pozycję Zapisz.
Zmienianie skalowania repliki w witrynie Azure Portal
Możesz kontrolować automatyczne skalowanie dla zakresu replik wdrażanych w odpowiedzi na zdarzenie wyzwalacza. Replika to nowe wystąpienie poprawki lub wersji zasobu aplikacji logiki. Aby zmienić minimalne i maksymalne wartości dla tego zakresu, można zmodyfikować reguły skalowania, aby określić typy zdarzeń, które wyzwalają skalowanie. Aby uzyskać więcej informacji, zobacz Ustawianie reguł skalowania w usłudze Azure Container Apps.
W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.
W menu zasobów w obszarze Ustawienia wybierz pozycję Skaluj.
Na stronie Skalowanie w obszarze Ustawienie reguły skalowania zmień następujące wartości, aby pasowały do danego scenariusza:
Właściwości Wartość Opis Minimalna liczba replik - Wartość domyślna: 1
- Minimum: 0
- Maksimum: 1000Określa minimalną liczbę replik dozwolonych dla poprawki w danym momencie. Ta wartość zastępuje reguły skalowania i musi być mniejsza niż maksymalna liczba replik. Maksymalna liczba replik - Ustawienie domyślne: 30
- Minimum: 0
- Maksimum: 1000Określa maksymalną liczbę replik dozwolonych dla poprawki w danym momencie. Ta wartość zastępuje reguły skalowania. Po zakończeniu wybierz pozycję Zapisz.
Kontrolowanie ruchu przychodzącego do aplikacji logiki w witrynie Azure Portal
Aplikację logiki można uwidocznić w publicznej sieci Web, sieci wirtualnej i innych aplikacjach logiki w środowisku, włączając ruch przychodzący. Platforma Azure wymusza ustawienia ruchu przychodzącego za pomocą zestawu reguł kontrolujących routing ruchu zewnętrznego i wewnętrznego do aplikacji logiki. Po włączeniu ruchu przychodzącego nie musisz tworzyć usługi Azure Load Balancer, publicznego adresu IP ani żadnych innych zasobów platformy Azure w celu włączenia przychodzących żądań HTTP lub ruchu TCP. Aby uzyskać więcej informacji, zobacz Ruch przychodzący w usłudze Container Apps.
Uwaga
Po włączeniu ruchu przychodzącego cały ruch będzie domyślnie kierowany do najnowszej wersji. Przejdź do strony zarządzanie poprawkami, aby zmienić ustawienia ruchu.
W menu zasobów w obszarze Ustawienia wybierz pozycję Ruch przychodzący.
Na stronie Ruch przychodzący obok pozycji Ruch przychodzący wybierz pole Włączone.
W zależności od scenariusza skonfiguruj pozostałe opcje.
Więcej informacji można znaleźć w następującej dokumentacji:
Konfigurowanie uwierzytelniania dla połączeń zarządzanego interfejsu API
Aby uwierzytelnić połączenia zarządzanego interfejsu API w przepływach pracy aplikacji logiki w warstwie Standardowa hostowanych w klastrach Kubernetes z obsługą usługi Azure Arc, musisz utworzyć własną rejestrację aplikacji przy użyciu identyfikatora Entra firmy Microsoft. Następnie możesz dodać wartości rejestracji aplikacji jako zmienne środowiskowe w zasobie standardowej aplikacji logiki w celu uwierzytelniania połączeń interfejsu API.
Tworzenie rejestracji aplikacji przy użyciu identyfikatora Entra firmy Microsoft
Azure Portal
W witrynie Azure Portal wykonaj czynności opisane w przewodniku Szybki start: rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft w celu utworzenia rejestracji aplikacji.
Po zakończeniu tworzenia znajdź nową rejestrację aplikacji w portalu.
W menu zasobów wybierz pozycję Przegląd i zapisz następujące wartości, które będą potrzebne później do uwierzytelniania połączenia:
- Client ID
- Identyfikator dzierżawy
- Klucz tajny klienta
W przypadku identyfikatora obiektu wykonaj następujące kroki:
Na stronie Przegląd wybierz pozycję Aplikacja zarządzana w katalogu lokalnym linku do rejestracji aplikacji, jak pokazano poniżej:
Na stronie, która zostanie otwarta, skopiuj i zapisz wartość Identyfikator obiektu:
Teraz dodaj zapisane wartości jako zmienne środowiskowe do zasobu standardowej aplikacji logiki.
Interfejs wiersza polecenia platformy Azure
Aby utworzyć rejestrację aplikacji, użyj polecenia az ad sp create.
Aby przejrzeć wszystkie właściwości, użyj polecenia az ad sp show.
W danych wyjściowych obu poleceń znajdź i zapisz następujące wartości, które będą potrzebne później do uwierzytelniania połączenia:
- Client ID
- Identyfikator obiektu
- Identyfikator dzierżawy
- Klucz tajny klienta
Teraz dodaj zapisane wartości jako zmienne środowiskowe do zasobu standardowej aplikacji logiki.
Dodawanie wartości rejestracji aplikacji do standardowej aplikacji logiki
W witrynie Azure Portal przejdź do zasobu aplikacji logiki w warstwie Standardowa.
W menu zasobów w obszarze Ustawienia wybierz pozycję Kontenery, a następnie wybierz kartę Zmienne środowiskowe.
Aby uzyskać więcej informacji na temat ustawień aplikacji i ustawień hosta, zobacz Edytowanie ustawień aplikacji i ustawień hosta.
Na pasku narzędzi wybierz pozycję Edytuj i wdróż.
W okienku Edytowanie kontenera wybierz pozycję Zmienne środowiskowe, a następnie wybierz pozycję Dodaj.
W poniższej tabeli dodaj każdą zmienną środowiskową z określoną wartością:
Zmienna środowiskowa Wartość WORKFLOWAPP_AAD_CLIENTID <my-client-ID> WORKFLOWAPP_AAD_OBJECTID <my-object-ID> WORKFLOWAPP_AAD_TENANTID <my-tenant-ID> WORKFLOWAPP_AAD_CLIENTSECRET <my-client-secret> Po zakończeniu wybierz pozycję Zapisz.
Przechowywanie i odwołuje się do identyfikatora klienta i klucza tajnego klienta
Identyfikator klienta i wartości wpisów tajnych klienta można przechowywać w zasobie aplikacji logiki jako wpisy tajne, a następnie odwoływać się do tych wartości na karcie Zmienne środowiskowe .
W witrynie Azure Portal przejdź do zasobu aplikacji logiki.
W menu zasobów w obszarze Ustawienia wybierz pozycję Wpisy tajne.
Na pasku narzędzi wybierz Dodaj.
W okienku Dodawanie wpisu tajnego podaj następujące informacje dla każdego wpisu tajnego , a następnie wybierz pozycję Dodaj:
Key Wartość WORKFLOWAPP_AAD_CLIENTID <my-client-ID> WORKFLOWAPP_AAD_CLIENTSECRET <my-client-secret>
Znane problemy i rozwiązywanie problemów
Azure Portal
Aplikacja logiki w warstwie Standardowa jest wdrażana i wyświetlana jako zasób usługi Azure Container Apps, ale typ jest wyświetlany jako aplikacja logiki (hybrydowa).
Platforma Azure zawiera aplikację logiki w warstwie Standardowa na liście zasobów usługi Container Apps , a nie listę zasobów aplikacji logiki.
Połączone środowisko usługi Azure Container Apps wyświetla listę aplikacji logiki w warstwie Standardowa jako typ aplikacji o nazwie Aplikacja hybrydowa logiki.
Aby odzwierciedlić zmiany w projektancie po zapisaniu przepływu pracy, może być konieczne od czasu do czasu odświeżenie projektanta.
Klastry platformy Kubernetes z obsługą Arc
W rzadkich scenariuszach można zauważyć duże zużycie pamięci w klastrze. Aby zapobiec temu problemowi, skalowanie w poziomie lub dodawanie autoskalowania dla pul węzłów.
Host funkcji nie jest uruchomiony
Po wdrożeniu standardowej aplikacji logiki upewnij się, że aplikacja działa poprawnie.
W witrynie Azure Portal przejdź do zasobu aplikacji kontenera dla aplikacji logiki.
W menu zasobów wybierz pozycję Przegląd.
Na stronie Przegląd obok pola Adres URL aplikacji wybierz adres URL zasobu.
Jeśli aplikacja działa poprawnie, zostanie otwarte okno przeglądarki i zostanie wyświetlony następujący komunikat:
W przeciwnym razie, jeśli aplikacja ma jakiekolwiek błędy, sprawdź, czy zasobniki usługi AKS działają poprawnie. W programie Windows PowerShell uruchom następujące polecenia:
az aks get-credentials {resource-group-name} --name {aks-cluster-name} --admin kubectl get ns kubectl get pods -n logicapps-aca-ns kubectl describe pod {logic-app-pod-name} -n logicapps-aca-ns
Więcej informacji można znaleźć w następującej dokumentacji:
Klaster nie ma wystarczającej liczby węzłów
Jeśli uruchomiono poprzednie polecenie i zostanie wyświetlone ostrzeżenie podobne do poniższego przykładu, klaster nie ma wystarczającej liczby węzłów do przetworzenia:
Warning: FailedScheduling 4m52s (x29 over 46m) default-scheduler 0/2 nodes are available: 2 Too many pods. preemption: 0/2 nodes are available: 2 No preemption victims found for incoming pod.
Aby zwiększyć liczbę węzłów i skonfigurować skalowanie automatyczne, wykonaj następujące kroki:
W witrynie Azure Portal przejdź do wystąpienia usługi Kubernetes Service.
W menu wystąpienia w obszarze Ustawienia wybierz pozycję Pule węzłów.
Na pasku narzędzi narzędzia węzła wybierz pozycję + Dodaj pulę węzłów.
Więcej informacji można znaleźć w następującej dokumentacji:
- Tworzenie pul węzłów dla klastra w usłudze Azure Kubernetes Service (AKS)
- Zarządzanie pulami węzłów dla klastra w usłudze Azure Kubernetes Service (AKS)
- Omówienie skalowania automatycznego klastra w usłudze Azure Kubernetes Service (AKS)
- Używanie narzędzia do automatycznego skalowania klastra w usłudze Azure Kubernetes Service (AKS)
Sterownik SMB Container Storage Interface (CSI) nie jest zainstalowany
Po uruchomieniu wcześniejszego kubectl describe pod
polecenia, jeśli zostanie wyświetlone następujące ostrzeżenie, upewnij się, czy sterownik CSI dla udziału plików SMB jest poprawnie zainstalowany:
Warning FailedScheduling 5m16s (x2 over 5m27s) default-scheduler 0/14 nodes are available: pod has unbound immediate PersistentVolumeClaims. preemption: 0/14 nodes are available: 14 Preemption is not helpful for scheduling.
Normal NotTriggerScaleUp 9m49s (x31 over 14m) cluster-autoscaler pod didn't trigger scale-up: 3 pod has unbound immediate PersistentVolumeClaims
Aby potwierdzić, w programie Windows PowerShell uruchom następujące polecenia:
kubectl get csidrivers
Jeśli wyświetlona lista wyników nie zawiera smb.csi.k8s.io, w wierszu polecenia systemu Windows uruchom następujące polecenie:
helm repo add csi-driver-smb
helm repo update
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.15.0
Aby sprawdzić stan zasobników sterowników SMB CSI, w wierszu polecenia systemu Windows uruchom następujące polecenie:
kubectl --namespace=kube-system get pods --selector="app.kubernetes.io/name=csi-driver-smb" --watch
Aby uzyskać więcej informacji, zobacz Sterowniki interfejsu magazynu kontenerów (CSI) w usłudze Azure Kubernetes Service (AKS).