App Service, Functions a Logic Apps ve službě Azure Arc (Preview)

V clusteru Kubernetes s podporou Azure Arc můžete spouštět App Service, Functions a Logic Apps. Cluster Kubernetes může být místní nebo hostovaný v cloudu třetí strany. Tento přístup umožňuje vývojářům aplikací využívat funkce App Service. Současně to správcům IT umožňuje zajistit dodržování předpisů společností hostováním aplikací App Service v interní infrastruktuře. Umožňuje také dalším operátorům IT chránit své předchozí investice do jiných poskytovatelů cloudu tím, že v existujících clusterech Kubernetes spustí App Service.

Poznámka

Informace o nastavení clusteru Kubernetes pro App Service, Functions a Logic Apps najdete v tématu Vytvoření App Service prostředí Kubernetes (Preview).

Ve většině případů vývojáři aplikací nepotřebují vědět nic víc, než jak provést nasazení do správné oblasti Azure, která představuje nasazené prostředí Kubernetes. Pro operátory, kteří poskytují prostředí a udržují základní infrastrukturu Kubernetes, musíte znát následující prostředky Azure:

Omezení veřejné verze Preview

Následující omezení verze Public Preview se vztahují na App Service prostředí Kubernetes. Tento seznam omezení se aktualizuje, jakmile se zpřístupní změny a funkce.

Omezení Podrobnosti
Podporované oblasti Azure USA – východ, Západní Evropa
Požadavek na síť clusteru Musí podporovat LoadBalancer typ služby
Požadavek na úložiště clusteru Pokud je to možné, musíte mít k dispozici třídu úložiště připojenou ke clusteru, aby rozšíření mohlo podporovat nasazení a sestavování aplikací založených na kódu.
Funkce: Sítě Není k dispozici (spoléhat se na sítě clusteru)
Funkce: Spravované identity Není k dispozici
Funkce: Reference ke službě Key Vault Není k dispozici (závisí na spravovaných identitách)
Funkce: Vyžádání imagí z ACR pomocí spravované identity Není k dispozici (závisí na spravovaných identitách)
Funkce: Úpravy funkcí a Aplikací logiky na portálu Není k dispozici
Funkce: Výpis funkcí nebo klíčů na portálu Není k dispozici, pokud cluster není veřejně dostupný
Funkce: Publikování přes PROTOKOL FTP Není k dispozici
Protokoly Log Analytics musí být nakonfigurované s rozšířením clusteru. ne pro jednotlivé weby

Pody vytvořené rozšířením App Service

Při instalaci rozšíření App Service v clusteru Kubernetes s podporou Azure Arc se v zadaném oboru názvů verze vytvoří několik podů. Tyto pody umožňují, aby váš cluster Kubernetes byl rozšířením Microsoft.Web poskytovatele prostředků v Azure a podporují správu a provoz vašich aplikací. Volitelně můžete zvolit instalaci rozšíření KEDA pro škálování řízené událostmi.

Následující tabulka popisuje roli každého podu, který se vytvoří ve výchozím nastavení:

Pod Description
<extensionName>-k8se-app-controller Základní pod operátora, který vytváří prostředky v clusteru a udržuje stav komponent.
<extensionName>-k8se-envoy Vrstva front-endového proxy serveru pro všechny požadavky roviny dat. Směruje příchozí provoz do správných aplikací.
<extensionName>-k8se-activator Alternativní cíl směrování, který vám pomůže s aplikacemi, které se škálovaly na nulu, zatímco systém získá první dostupnou instanci.
<extensionName>-k8se-build-service Podporuje operace nasazení a obsluhuje funkci Rozšířené nástroje.
<extensionName>-k8se-http-scaler Monitoruje svazek příchozích požadavků za účelem poskytování informací o škálování do KEDA.
<extensionName>-k8se-img-cacher Načte zástupné symboly a obrázky aplikací do místní mezipaměti na uzlu.
<extensionName>-k8se-log-processor Shromažďuje protokoly z aplikací a dalších komponent a odesílá je do Log Analytics.
placeholder-azure-functions-* Používá se k urychlení studených startů pro Azure Functions.

App Service prostředí Kubernetes

Před vytvářením aplikací se vyžaduje prostředek prostředí App Service Kubernetes. Umožňuje konfiguraci společnou pro aplikace ve vlastním umístění, například výchozí příponu DNS.

Ve vlastním umístění je možné vytvořit pouze jeden prostředek prostředí Kubernetes. Ve většině případů vývojář, který vytváří a nasazuje aplikace, nemusí o prostředku přímo vědět. Dá se odvodit přímo ze zadaného ID vlastního umístění. Při definování šablon Azure Resource Manager ale každý prostředek plánu musí přímo odkazovat na ID prostředku prostředí. Hodnoty vlastního umístění plánu a zadaného prostředí se musí shodovat.

Nejčastější dotazy k App Service, Functions a Logic Apps ve službě Azure Arc (Preview)

Kolik to stojí?

App Service ve službě Azure Arc je ve verzi Public Preview zdarma.

Jsou podporované aplikace pro Windows i Linux?

Podporují se pouze linuxové aplikace, a to jak kód, tak vlastní kontejnery. Aplikace pro Windows nejsou podporované.

Které předdefinované zásobníky aplikací se podporují?

Podporují se všechny integrované zásobníky Linuxu.

Podporují se všechny typy nasazení aplikací?

Nasazení ftp se nepodporuje. V současné době az webapp up se také nepodporuje. Podporují se i další metody nasazení, například Git, ZIP, CI/CD, Visual Studio a Visual Studio Code.

Které App Service funkce jsou podporované?

Během období Preview se ověřují určité App Service funkce. Jakmile budou podporované, aktivují se jejich možnosti levé navigace v Azure Portal. Funkce, které ještě nejsou podporované, zůstanou neaktivní.

Jsou podporované všechny síťové funkce?

Ne. Síťové funkce, jako jsou hybridní připojení nebo integrace Virtual Network, se nepodporují. Podpora omezení přístupu byla přidána v dubnu 2022. Sítě by se měly zpracovávat přímo v pravidlech sítě v samotném clusteru Kubernetes.

Podporují se spravované identity?

Ne. Při spuštění v Azure Arc nejde aplikacím přiřadit spravované identity. Pokud vaše aplikace potřebuje identitu pro práci s jiným prostředkem Azure, zvažte místo toho použití instančního objektu aplikace .

Existují nějaká omezení škálování?

Všechny aplikace nasazené s Azure App Service v Kubernetes se službou Azure Arc můžou škálovat v rámci limitů základního clusteru Kubernetes. Pokud podkladovému clusteru Kubernetes dojdou dostupné výpočetní prostředky (primárně procesor a paměť), aplikace budou moct škálovat jenom na počet instancí aplikace, které Kubernetes může naplánovat s dostupným prostředkem.

Jaké protokoly se shromažďují?

Protokoly pro systémové komponenty i vaše aplikace se zapisují do standardního výstupu. Oba typy protokolů je možné shromažďovat pro účely analýzy pomocí standardních nástrojů Kubernetes. Můžete také nakonfigurovat rozšíření clusteru App Service s pracovním prostorem služby Log Analytics a odesílat do něj všechny protokoly.

Protokoly ze systémových komponent se ve výchozím nastavení odesílají týmu Azure. Protokoly aplikace se neodesílají. Přenos těchto protokolů můžete zakázat nastavením logProcessor.enabled=false v nastavení konfigurace rozšíření. Toto nastavení konfigurace také zakáže předávání aplikace do pracovního prostoru služby Log Analytics. Zakázání procesoru protokolů může mít vliv na dobu potřebnou pro všechny případy podpory a budete vyzváni ke shromažďování protokolů ze standardního výstupu jinými způsoby.

Co mám dělat, když se zobrazí chyba registrace poskytovatele?

Při vytváření prostředku prostředí Kubernetes se u některých předplatných může zobrazit chyba "Nebyl nalezen žádný registrovaný poskytovatel prostředků". Podrobnosti o chybě můžou zahrnovat sadu umístění a verzí rozhraní API, které jsou považovány za platné. Pokud se tato chybová zpráva vrátí, musí být předplatné znovu zaregistrováno u poskytovatele Microsoft.Web, což je operace, která nemá žádný vliv na existující aplikace nebo rozhraní API. Pokud se chcete znovu zaregistrovat, spusťte az provider register --namespace Microsoft.Web --waitpomocí Azure CLI . Pak znovu spusťte příkaz prostředí Kubernetes.

Můžu nasadit rozšíření aplikačních služeb v clusteru založeném na ARM64?

Clustery založené na ARM64 se v tuto chvíli nepodporují.

Do kterých distribucí Kubernetes můžu rozšíření nasadit?

Rozšíření bylo ověřeno ve službách AKS, AKS ve službě Azure Stack HCI, Google Kubernetes Engine, Amazon Elastic Kubernetes Service a rozhraní API clusteru Kubernetes.

Poznámky k verzi rozšíření

Rozšíření aplikačních služeb v 0.9.0 (květen 2021)

  • Počáteční verze Public Preview rozšíření aplikačních služeb
  • Podpora nasazení webových aplikací, aplikací funkcí a logiky založených na kódu a kontejnerech.
  • Podpora modulu runtime webových aplikací --- .NET 3.1 a 5.0; Node JS 12 a 14; Python 3.6, 3.7 a 3.8; PHP 7.3 a 7.4; Ruby 2.5, 2.5.5, 2.6 a 2.6.2; Java SE 8u232, 8u242, 8u252, 11.05, 11.06 a 11.07; Tomcat 8.5, 8.5.41, 8.5.53, 8.5.57, 9.0, 9.0.20, 9.0.33 a 9.0.37.

Rozšíření aplikačních služeb v 0.10.0 (listopad 2021)

  • Odebrání požadavku na předem přiřazenou statickou IP adresu vyžadovanou pro přiřazení ke koncovému bodu envoy
  • Upgrade Keda na verzi 2.4.0
  • Upgrade envoy na verzi 1.19.0
  • Upgrade modulu runtime služby Azure Functions na verzi 3.3.1
  • Nastavte výchozí počet replik pro App Controller a Envoy Controller na 2, aby se přidala další stabilita.

Pokud bylo vaše rozšíření ve stabilní verzi a automatický upgrade podverze je nastavený na hodnotu true, rozšíření se upgraduje automaticky. Pokud chcete rozšíření ručně upgradovat na nejnovější verzi, můžete spustit příkaz:

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

Rozšíření aplikačních služeb v 0.11.0 (prosinec 2021)

  • Přidání podpory Application Insights pro webové aplikace Java a .NET
  • Přidání podpory pro webové aplikace .NET 6.0
  • Odebrání .NET Core 2.0
  • Vyřešené problémy, které způsobovaly selhání operací prohození slotů
  • Vyřešené problémy, se kterým se zákazníci setkali při vytváření webových aplikací Ruby

Pokud bylo vaše rozšíření ve stabilní verzi a automatický upgrade podverze je nastavený na hodnotu true, rozšíření se upgraduje automaticky. Pokud chcete rozšíření ručně upgradovat na nejnovější verzi, můžete spustit příkaz:

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

Rozšíření aplikačních služeb v 0.11.1 (prosinec 2021)

  • Podverze pro řešení problému s aktualizací CRD

Pokud bylo vaše rozšíření ve stabilní verzi a automatický upgrade podverze je nastavený na hodnotu true, rozšíření se upgraduje automaticky. Pokud chcete rozšíření ručně upgradovat na nejnovější verzi, můžete spustit příkaz:

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

Rozšíření aplikačních služeb v 0.12.0 (leden 2022)

  • Podpora odchozího proxy serveru
  • Podpora paralelních sestavení ve službě buildu
  • Upgrade envoy na verzi 1.20.1
  • Vyřešený problém s podporou Application Insights pro aplikace .NET

Pokud bylo vaše rozšíření ve stabilní verzi a automatický upgrade podverze je nastavený na hodnotu true, rozšíření se upgraduje automaticky. Pokud chcete rozšíření ručně upgradovat na nejnovější verzi, můžete spustit příkaz:

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

Rozšíření aplikačních služeb v 0.12.1 (březen 2022)

  • Vyřešení problému s podporou odchozího proxy serveru s povolením protokolování do pracovního prostoru služby Log Analytics

Pokud bylo vaše rozšíření ve stabilní verzi a automatický upgrade podverze je nastavený na hodnotu true, rozšíření se upgraduje automaticky. Pokud chcete rozšíření ručně upgradovat na nejnovější verzi, můžete spustit příkaz:

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

Rozšíření aplikačních služeb v 0.12.2 (březen 2022)

  • Aktualizace, která řeší chyby upgradu při upgradu z verze 0.12.0, pokud je délka názvu rozšíření delší než 35 znaků

Pokud bylo vaše rozšíření ve stabilní verzi a automatický upgrade podverze je nastavený na hodnotu true, rozšíření se upgraduje automaticky. Pokud chcete rozšíření ručně upgradovat na nejnovější verzi, můžete spustit příkaz:

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

Rozšíření aplikačních služeb v 0.13.0 (duben 2022)

  • Přidání podpory integrace Application Insights bez kódu pro aplikace Node JS
  • Přidání podpory omezení přístupu prostřednictvím rozhraní příkazového řádku
  • Další podrobnosti o selhání instalace rozšíření, které vám pomůžou s řešením potíží

Pokud bylo vaše rozšíření ve stabilní verzi a automatický upgrade podverze je nastavený na hodnotu true, rozšíření se upgraduje automaticky. Pokud chcete rozšíření ručně upgradovat na nejnovější verzi, můžete spustit příkaz:

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

Rozšíření aplikačních služeb v 0.13.1 (duben 2022)

  • Aktualizace, která řeší selhání upgradu, ke které dochází při automatickém upgradu clusterů na verzi 0.13.0

Pokud bylo vaše rozšíření ve stabilní verzi a automatický upgrade podverze je nastavený na hodnotu true, rozšíření se upgraduje automaticky. Pokud chcete rozšíření ručně upgradovat na nejnovější verzi, můžete spustit příkaz:

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

Další kroky

Vytvoření App Service prostředí Kubernetes (Preview)