Udostępnij za pośrednictwem


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:

  1. W polu wyszukiwania w witrynie Azure Portal wprowadź aplikacje logiki i wybierz pozycję Aplikacje logiki.

  2. Na pasku narzędzi strony Aplikacje logiki wybierz pozycję Dodaj.

  3. Na stronie Tworzenie aplikacji logiki w obszarze Standardowa wybierz pozycję Hybryda.

  4. 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:

    Zrzut ekranu przedstawiający witrynę Azure Portal i stronę tworzenia aplikacji logiki.

  5. 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.
  6. Po zakończeniu wybierz pozycję Przejrzyj i utwórz. Potwierdź podane informacje i wybierz pozycję Utwórz.

  7. Po zakończeniu wdrażania platformy Azure wybierz pozycję Przejdź do zasobu.

    Zrzut ekranu przedstawiający witrynę Azure Portal z aplikacją logiki w warstwie Standardowa dla wdrożenia hybrydowego utworzonego jako aplikacja kontenera.

    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.

  8. W witrynie Azure Portal w menu zasobów w obszarze Przepływy pracy wybierz pozycję Przepływy pracy.

  9. Na pasku narzędzi strony Przepływy pracy wybierz pozycję Dodaj, aby dodać pusty stanowy lub bezstanowy przepływ pracy.

  10. 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:

    1. W menu zasobów w obszarze Poprawki wybierz pozycję Poprawki i repliki.

    2. 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:

  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.

  2. W menu zasobów w obszarze Ustawienia wybierz pozycję Kontenery.

  3. Na pasku narzędzi strony Kontenery wybierz pozycję Edytuj i wdróż, co spowoduje otwarcie okienka Edytowanie kontenera.

  4. 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: 2
    Okreś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: 4
    Okreś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.
  5. 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.

  1. W witrynie Azure Portal otwórz zasób standardowej aplikacji logiki.

  2. W menu zasobów w obszarze Ustawienia wybierz pozycję Skaluj.

  3. 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: 1000
    Okreś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: 1000
    Określa maksymalną liczbę replik dozwolonych dla poprawki w danym momencie. Ta wartość zastępuje reguły skalowania.
  4. 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.

  1. W menu zasobów w obszarze Ustawienia wybierz pozycję Ruch przychodzący.

  2. Na stronie Ruch przychodzący obok pozycji Ruch przychodzący wybierz pole Włączone.

  3. 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

  1. 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.

  2. Po zakończeniu tworzenia znajdź nową rejestrację aplikacji w portalu.

  3. 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
  4. W przypadku identyfikatora obiektu wykonaj następujące kroki:

    1. Na stronie Przegląd wybierz pozycję Aplikacja zarządzana w katalogu lokalnym linku do rejestracji aplikacji, jak pokazano poniżej:

      Zrzut ekranu przedstawiający rejestrację aplikacji z wybranym linkiem dla aplikacji zarządzanej w katalogu lokalnym.

    2. Na stronie, która zostanie otwarta, skopiuj i zapisz wartość Identyfikator obiektu:

      Zrzut ekranu przedstawiający rejestrację aplikacji z wybranym identyfikatorem obiektu.

  5. Teraz dodaj zapisane wartości jako zmienne środowiskowe do zasobu standardowej aplikacji logiki.

Interfejs wiersza polecenia platformy Azure

  1. Aby utworzyć rejestrację aplikacji, użyj polecenia az ad sp create.

  2. Aby przejrzeć wszystkie właściwości, użyj polecenia az ad sp show.

  3. 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
  4. Teraz dodaj zapisane wartości jako zmienne środowiskowe do zasobu standardowej aplikacji logiki.

Dodawanie wartości rejestracji aplikacji do standardowej aplikacji logiki

  1. W witrynie Azure Portal przejdź do zasobu aplikacji logiki w warstwie Standardowa.

  2. 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.

  3. Na pasku narzędzi wybierz pozycję Edytuj i wdróż.

  4. W okienku Edytowanie kontenera wybierz pozycję Zmienne środowiskowe, a następnie wybierz pozycję Dodaj.

  5. 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>
  6. 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 .

  1. W witrynie Azure Portal przejdź do zasobu aplikacji logiki.

  2. W menu zasobów w obszarze Ustawienia wybierz pozycję Wpisy tajne.

  3. Na pasku narzędzi wybierz Dodaj.

  4. 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.

  1. W witrynie Azure Portal przejdź do zasobu aplikacji kontenera dla aplikacji logiki.

  2. W menu zasobów wybierz pozycję Przegląd.

  3. 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:

    Zrzut ekranu przedstawiający przeglądarkę i aplikację logiki działającą jako witrynę internetową.

    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:

  1. W witrynie Azure Portal przejdź do wystąpienia usługi Kubernetes Service.

  2. W menu wystąpienia w obszarze Ustawienia wybierz pozycję Pule węzłów.

  3. 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:

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).