App Service, Functions i Logic Apps w usłudze Azure Arc (wersja zapoznawcza)

Usługi App Service, Functions i Logic Apps można uruchamiać w klastrze Kubernetes z obsługą usługi Azure Arc. Klaster Kubernetes może być lokalny lub hostowany w chmurze innej firmy. Takie podejście umożliwia deweloperom aplikacji korzystanie z funkcji usługi App Service. Jednocześnie umożliwia administratorom IT zachowanie zgodności firmowej przez hostowanie aplikacji usługi App Service w wewnętrznej infrastrukturze. Umożliwia również innym operatorom IT zabezpieczenie wcześniejszych inwestycji u innych dostawców chmury przez uruchomienie usługi App Service w istniejących klastrach Kubernetes.

Uwaga

Aby dowiedzieć się, jak skonfigurować klaster Kubernetes dla usług App Service, Functions i Logic Apps, zobacz Tworzenie środowiska Kubernetes usługi App Service (wersja zapoznawcza).

W większości przypadków deweloperzy aplikacji nie muszą wiedzieć więcej niż jak wdrożyć w odpowiednim regionie świadczenia usługi Azure reprezentującym wdrożone środowisko Kubernetes. W przypadku operatorów, którzy zapewniają środowisko i utrzymują podstawową infrastrukturę Kubernetes, należy pamiętać o następujących zasobach platformy Azure:

Ograniczenia publicznej wersji zapoznawczej

Następujące ograniczenia publicznej wersji zapoznawczej dotyczą środowisk Kubernetes usługi App Service. Ta lista ograniczeń jest aktualizowana w miarę udostępniania zmian i funkcji.

Ograniczenie Szczegóły
Obsługiwane regiony platformy Azure Wschodnie stany USA, Europa Zachodnia
Wymaganie dotyczące sieci klastra Musi obsługiwać LoadBalancer typ usługi
Wymaganie dotyczące magazynu klastra Musi mieć klasę magazynu dołączoną do klastra dostępną do użycia przez rozszerzenie w celu obsługi wdrażania i kompilowania aplikacji opartych na kodzie, jeśli ma to zastosowanie
Funkcja: Sieć Niedostępne (polegaj na sieci klastra)
Funkcja: tożsamości zarządzane Niedostępne
Funkcja: odwołania do magazynu kluczy Niedostępne (zależy od tożsamości zarządzanych)
Funkcja: ściąganie obrazów z usługi ACR przy użyciu tożsamości zarządzanej Niedostępne (zależy od tożsamości zarządzanych)
Funkcja: edytowanie w portalu dla usług Functions i Logic Apps Niedostępny
Funkcja: Lista funkcji lub kluczy w portalu Niedostępne, jeśli klaster nie jest publicznie dostępny
Funkcja: publikowanie ftp Niedostępny
Dzienniki Należy skonfigurować usługę Log Analytics z rozszerzeniem klastra; nie na lokację

Zasobniki utworzone przez rozszerzenie usługi App Service

Po zainstalowaniu rozszerzenia usługi App Service w klastrze Kubernetes z włączoną usługą Azure Arc kilka zasobników jest tworzonych w określonej przestrzeni nazw wydania. Te zasobniki umożliwiają klastrowi Kubernetes rozszerzenie Microsoft.Web dostawcy zasobów na platformie Azure oraz obsługę zarządzania aplikacjami i jej działania. Opcjonalnie możesz zainstalować rozszerzenie KEDA na potrzeby skalowania sterowanego zdarzeniami.

W poniższej tabeli opisano rolę każdego zasobnika, który jest tworzony domyślnie:

Zasobnik opis
<extensionName>-k8se-app-controller Zasobnik operatora podstawowego, który tworzy zasoby w klastrze i utrzymuje stan składników.
<extensionName>-k8se-envoy Warstwa serwera proxy frontonu dla wszystkich żądań płaszczyzny danych. Kieruje ruch przychodzący do odpowiednich aplikacji.
<extensionName>-k8se-activator Alternatywna lokalizacja docelowa routingu, która ułatwia aplikacjom skalowanym do zera, podczas gdy system pobiera pierwsze dostępne wystąpienie.
<extensionName>-k8se-build-service Obsługuje operacje wdrażania i obsługuje funkcję Narzędzia zaawansowane.
<extensionName>-k8se-http-scaler Monitoruje wolumin żądania przychodzącego w celu zapewnienia informacji o skalowaniu do usługi KEDA.
<extensionName>-k8se-img-cacher Ściąga symbol zastępczy i obrazy aplikacji do lokalnej pamięci podręcznej w węźle.
<extensionName>-k8se-log-processor Zbiera dzienniki z aplikacji i innych składników i wysyła je do usługi Log Analytics.
placeholder-azure-functions-* Służy do przyspieszania zimnych startów dla usługi Azure Functions.

Środowisko Kubernetes usługi App Service

Zasób środowiska Kubernetes usługi App Service jest wymagany przed utworzeniem aplikacji. Umożliwia ona konfigurację typową dla aplikacji w lokalizacji niestandardowej, takiej jak domyślny sufiks DNS.

W lokalizacji niestandardowej można utworzyć tylko jeden zasób środowiska Kubernetes. W większości przypadków deweloper, który tworzy i wdraża aplikacje, nie musi mieć bezpośredniej wiedzy o zasobie. Można go bezpośrednio wywnioskować z podanego identyfikatora lokalizacji niestandardowej. Jednak podczas definiowania szablonów usługi Azure Resource Manager każdy zasób planu musi bezpośrednio odwoływać się do identyfikatora zasobu środowiska. Niestandardowe wartości lokalizacji planu i określonego środowiska muszą być zgodne.

Często zadawane pytania dotyczące usług App Service, Functions i Logic Apps w usłudze Azure Arc (wersja zapoznawcza)

Ile to kosztuje?

Usługa App Service w usłudze Azure Arc jest bezpłatna w publicznej wersji zapoznawczej.

Czy obsługiwane są zarówno aplikacje systemu Windows, jak i Linux?

Obsługiwane są tylko aplikacje oparte na systemie Linux, zarówno kod, jak i kontenery niestandardowe. Aplikacje systemu Windows nie są obsługiwane.

Które wbudowane stosy aplikacji są obsługiwane?

Obsługiwane są wszystkie wbudowane stosy systemu Linux.

Czy obsługiwane są wszystkie typy wdrożeń aplikacji?

Wdrażanie ftp nie jest obsługiwane. Obecnie az webapp up nie jest również obsługiwane. Obsługiwane są inne metody wdrażania, w tym Git, ZIP, CI/CD, Visual Studio i Visual Studio Code.

Które funkcje usługi App Service są obsługiwane?

W okresie obowiązywania wersji zapoznawczej niektóre funkcje usługi App Service są weryfikowane. Po ich obsługiwanych opcjach nawigacji po lewej stronie w witrynie Azure Portal zostanie aktywowana. Funkcje, które nie są jeszcze obsługiwane, pozostają wyszarywane.

Czy są obsługiwane wszystkie funkcje sieciowe?

L.p. Funkcje sieciowe, takie jak połączenia hybrydowe lub integracja z siecią wirtualną, nie są obsługiwane. Obsługa ograniczeń dostępu została dodana w kwietniu 2022 r. Sieć powinna być obsługiwana bezpośrednio w regułach sieci w samym klastrze Kubernetes.

Czy są obsługiwane tożsamości zarządzane?

L.p. Nie można przypisać tożsamości zarządzanych aplikacji podczas uruchamiania w usłudze Azure Arc. Jeśli aplikacja potrzebuje tożsamości do pracy z innym zasobem platformy Azure, rozważ użycie jednostki usługi aplikacji.

Czy istnieją limity skalowania?

Wszystkie aplikacje wdrożone za pomocą usługi aplikacja systemu Azure Service na platformie Kubernetes z usługą Azure Arc są w stanie skalować w granicach bazowego klastra Kubernetes. Jeśli podstawowy klaster Kubernetes zabraknie dostępnych zasobów obliczeniowych (przede wszystkim procesora CPU i pamięci), aplikacje będą mogły skalować tylko do liczby wystąpień aplikacji, które platforma Kubernetes może zaplanować przy użyciu dostępnego zasobu.

Jakie dzienniki są zbierane?

Dzienniki zarówno składników systemu, jak i aplikacji są zapisywane w standardowych danych wyjściowych. Oba typy dzienników można zbierać do analizy przy użyciu standardowych narzędzi Kubernetes. Można również skonfigurować rozszerzenie klastra usługi App Service z obszarem roboczym usługi Log Analytics i wysyła wszystkie dzienniki do tego obszaru roboczego.

Domyślnie dzienniki ze składników systemu są wysyłane do zespołu platformy Azure. Dzienniki aplikacji nie są wysyłane. Możesz zapobiec transferowi tych dzienników, ustawiając element logProcessor.enabled=false jako ustawienie konfiguracji rozszerzenia. To ustawienie konfiguracji spowoduje również wyłączenie przekazywania aplikacji do obszaru roboczego usługi Log Analytics. Wyłączenie procesora dziennika może mieć wpływ na czas potrzebny na wszelkie przypadki pomocy technicznej i zostanie wyświetlony monit o zebranie dzienników ze standardowych danych wyjściowych za pośrednictwem innych środków.

Co zrobić, jeśli widzę błąd rejestracji dostawcy?

Podczas tworzenia zasobu środowiska Kubernetes niektóre subskrypcje mogą zobaczyć błąd "Nie znaleziono zarejestrowanego dostawcy zasobów". Szczegóły błędu mogą zawierać zestaw lokalizacji i wersji interfejsu API, które są uznawane za prawidłowe. Jeśli zostanie zwrócony ten komunikat o błędzie, subskrypcja musi zostać ponownie zarejestrowana u dostawcy Microsoft.Web, operacja, która nie ma wpływu na istniejące aplikacje lub interfejsy API. Aby ponownie zarejestrować się, uruchom polecenie az provider register --namespace Microsoft.Web --waitza pomocą interfejsu wiersza polecenia platformy Azure. Następnie ponownie wykonaj polecenie środowiska Kubernetes.

Czy mogę wdrożyć rozszerzenie usług aplikacji w klastrze opartym na usłudze ARM64?

Klastry oparte na architekturze ARM64 nie są obecnie obsługiwane.

W których dystrybucjach kubernetes można wdrożyć rozszerzenie?

Rozszerzenie zostało zweryfikowane w usługach AKS, AKS w usłudze Azure Stack HCI, Google Kubernetes Engine, Amazon Elastic Kubernetes Service i interfejsie API klastra Kubernetes.

Informacje o wersji rozszerzenia

Rozszerzenie usług aplikacji w wersji 0.9.0 (maj 2021 r.)

  • Początkowa publiczna wersja zapoznawcza rozszerzenia usług aplikacji.
  • Obsługa wdrożeń opartych na kodzie i kontenerach aplikacji internetowych, funkcji i logiki.
  • Środowisko uruchomieniowe aplikacji internetowej obsługuje --- .NET 3.1 i 5.0; Węzeł JS 12 i 14; Python 3.6, 3.7 i 3.8; PHP 7.3 i 7.4; Ruby 2.5, 2.5.5, 2.6 i 2.6.2; Java SE 8u232, 8u242, 8u252, 11.05, 11.06 i 11.07; Tomcat 8.5, 8.5.41, 8.5.53, 8.5.57, 9.0, 9.0.20, 9.0.33 i 9.0.37.

Rozszerzenie usług aplikacji w wersji 0.10.0 (listopad 2021 r.)

  • Usunięto wymaganie dotyczące wstępnie przypisanego statycznego adresu IP wymaganego do przypisania do punktu końcowego usługi Envoy
  • Uaktualnij platformę Keda do wersji 2.4.0
  • Uaktualnianie programu Envoy do wersji 1.19.0
  • Uaktualnianie środowiska uruchomieniowego funkcji platformy Azure do wersji 3.3.1
  • Ustaw domyślną liczbę replik kontrolera aplikacji i kontrolera wysłanników na 2, aby zwiększyć stabilność

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.10.0

Rozszerzenie usług aplikacji w wersji 0.11.0 (grudzień 2021 r.)

  • Dodano obsługę aplikacji Szczegółowe informacje dla aplikacji internetowych Java i .NET
  • Dodano obsługę aplikacji internetowych platformy .NET 6.0
  • Usunięto program .NET Core 2.0
  • Rozwiązano problemy, które spowodowały niepowodzenie operacji zamiany miejsca
  • Rozwiązano problemy występujące podczas tworzenia aplikacji internetowych w języku Ruby

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.11.0

Rozszerzenie usług aplikacji w wersji 0.11.1 (grudzień 2021 r.)

  • Wersja pomocnicza w celu rozwiązania problemu z aktualizacją CRD

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.11.1

Rozszerzenie usług aplikacji w wersji 0.12.0 (styczeń 2022 r.)

  • Obsługa wychodzącego serwera proxy
  • Obsługa równoległych kompilacji w usłudze kompilacji
  • Uaktualnij program Envoy do wersji 1.20.1
  • Rozwiązano problem z obsługą Szczegółowe informacje aplikacji dla aplikacji .NET

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.0

Rozszerzenie usług aplikacji w wersji 0.12.1 (marzec 2022 r.)

  • Rozwiązano problem z obsługą wychodzącego serwera proxy w celu włączenia rejestrowania w obszarze roboczym usługi Log Analytics

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.1

Rozszerzenie usług aplikacji w wersji 0.12.2 (marzec 2022 r.)

  • Aktualizacja w celu usunięcia błędów uaktualniania podczas uaktualniania z wersji 0.12.0, gdy długość nazwy rozszerzenia jest wyższa niż 35 znaków

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.12.2

Rozszerzenie usług aplikacji w wersji 0.13.0 (kwiecień 2022 r.)

  • Dodano obsługę integracji bez kodu aplikacji Szczegółowe informacje dla aplikacji Node JS
  • Dodano obsługę ograniczeń dostępu za pośrednictwem interfejsu wiersza polecenia
  • Więcej szczegółów podano, gdy nie można zainstalować rozszerzenia, aby uzyskać pomoc w rozwiązywaniu problemów

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.0

Rozszerzenie usług aplikacji w wersji 0.13.1 (kwiecień 2022 r.)

  • Aktualizacja w celu rozwiązania problemów z błędami uaktualniania widocznymi podczas automatycznego uaktualniania klastrów do wersji 0.13.0

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.1

Rozszerzenie usług aplikacji w wersji 0.13.5 (grudzień 2023 r.)

  • Aktualizacja w celu obsługi platformy Kubernetes w wersji 1.26 lub nowszej
  • Aktualizacja aplikacji Envoy do wersji 1.2.1
  • Zaktualizuj usługę Keda do wersji 2.10.0
  • Aktualizowanie usługi EasyAuth do wersji 1.6.20
  • Aktualizowanie obrazów podstawowych dla obsługiwanych języków

Jeśli rozszerzenie było w stabilnej wersji, a opcja auto-upgrade-minor-version jest ustawiona na wartość true, uaktualnienia rozszerzeń są automatycznie uaktualniane. Aby ręcznie uaktualnić rozszerzenie do najnowszej wersji, możesz uruchomić polecenie:

    az k8s-extension update --cluster-type connectedClusters -c <clustername> -g <resource group> -n <extension name> --release-train stable --version 0.13.5

Następne kroki

Tworzenie środowiska Kubernetes usługi App Service (wersja zapoznawcza)