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:
- Połączony klaster, który jest projekcją platformy Azure infrastruktury Kubernetes. Aby uzyskać więcej informacji, zobacz Co to jest platforma Kubernetes z obsługą usługi Azure Arc?
- Rozszerzenie klastra, które jest podźródło połączonego zasobu klastra. Rozszerzenie usługi App Service instaluje wymagane zasobniki w połączonym klastrze. Aby uzyskać więcej informacji na temat rozszerzeń klastra, zobacz Cluster extensions on Azure Arc-enabled Kubernetes (Rozszerzenia klastra na platformie Kubernetes z obsługą usługi Azure Arc).
- Lokalizacja niestandardowa, która łączy grupę rozszerzeń i mapuje je na przestrzeń nazw dla utworzonych zasobów. Aby uzyskać więcej informacji, zobacz Lokalizacje niestandardowe na platformie Kubernetes z obsługą usługi Azure Arc.
- Środowisko Kubernetes usługi App Service, które umożliwia konfigurację wspólną dla aplikacji, ale niezwiązaną z operacjami klastra. Koncepcyjnie jest on wdrażany w zasobie lokalizacji niestandardowej, a deweloperzy aplikacji tworzą aplikacje w tym środowisku. Ten zasób został opisany bardziej szczegółowo w środowisku Kubernetes usługi App Service.
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 systemu operacyjnego Node | Tylko system Linux . |
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?
- Czy obsługiwane są zarówno aplikacje systemu Windows, jak i Linux?
- Czy rozszerzenie można zainstalować w węzłach systemu Windows?
- Które wbudowane stosy aplikacji są obsługiwane?
- Czy obsługiwane są wszystkie typy wdrożeń aplikacji?
- Które funkcje usługi App Service są obsługiwane?
- Czy są obsługiwane wszystkie funkcje sieciowe?
- Czy są obsługiwane tożsamości zarządzane?
- Czy istnieją limity skalowania?
- Jakie dzienniki są zbierane?
- Co zrobić, jeśli widzę błąd rejestracji dostawcy?
- Czy mogę wdrożyć rozszerzenie usług aplikacji w klastrze opartym na usłudze Arm64?
- W których dystrybucjach kubernetes można wdrożyć rozszerzenie?
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.
Czy rozszerzenie można zainstalować w węzłach systemu Windows?
Nie, nie można zainstalować rozszerzenia w węzłach systemu Windows. Rozszerzenie obsługuje tylko instalację w węzłach systemu Linux.
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 --wait
za 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ę usługi Application Insights 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ą usługi Application Insights 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 usługi Application Insights 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)