App Service, Functions a Logic Apps ve službě Azure Arc (Preview)
App Service, Functions a Logic Apps můžete spustit v clusteru Kubernetes s podporou Azure Arc. 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 služby App Service. Zároveň umožňuje správcům IT udržovat firemní dodržování předpisů hostováním aplikací App Service na interní infrastruktuře. Umožňuje také ostatním it operátorům chránit své předchozí investice do jiných poskytovatelů cloudu spuštěním služby App Service na existujících clusterech Kubernetes.
Poznámka:
Informace o nastavení clusteru Kubernetes pro App Service, Functions a Logic Apps najdete v tématu Vytvoření prostředí Kubernetes služby App Service (Preview).
Ve většině případů vývojáři aplikací potřebují vědět nic víc než nasazení do správné oblasti Azure, která představuje nasazené prostředí Kubernetes. Pro operátory, kteří poskytují prostředí a spravují základní infrastrukturu Kubernetes, musíte znát následující prostředky Azure:
- Připojený cluster, což je projekce Azure vaší infrastruktury Kubernetes. Další informace najdete v tématu Co je Kubernetes s podporou Služby Azure Arc?.
- Rozšíření clusteru, které je podsourcem připojeného prostředku clusteru. Rozšíření App Service nainstaluje požadované pody do připojeného clusteru. Další informace o rozšířeních clusteru najdete v tématu Rozšíření clusteru v Kubernetes s podporou Azure Arc.
- Vlastní umístění, které spojuje skupinu rozšíření a mapuje je na obor názvů pro vytvořené prostředky. Další informace najdete v tématu Vlastní umístění nad Kubernetes s podporou Služby Azure Arc.
- Prostředí Kubernetes služby App Service, které umožňuje konfiguraci společnou napříč aplikacemi, ale nesouvisí s operacemi clusteru. Koncepčně se nasadí do prostředku vlastního umístění a vývojáři aplikací vytvářejí aplikace v tomto prostředí. Tento prostředek je podrobněji popsán v prostředí Kubernetes služby App Service.
Omezení verze Public Preview
Následující omezení verze Public Preview platí pro prostředí Kubernetes služby App Service. Tento seznam omezení se aktualizuje, protože jsou k dispozici změny a funkce.
Omezení | Detaily |
---|---|
Podporované oblasti Azure | USA – východ, Západní Evropa |
Požadavek na síť clusteru | Musí podporovat LoadBalancer typ služby. |
Požadavek na operační systém uzlu | Pouze Linux . |
Požadavek na úložiště clusteru | Musí mít k dispozici třídu úložiště připojenou ke clusteru pro použití rozšířením, aby bylo možné podporovat nasazení a sestavování aplikací založených na kódu, pokud je to možné. |
Funkce: Sítě | Není k dispozici (závisí na sítích 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 se spravovanou identitou | Není k dispozici (závisí na spravovaných identitách) |
Funkce: Úpravy na portálu pro Functions a Logic Apps | 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 FTP | Není k dispozici |
Protokoly | Log Analytics musí být nakonfigurované s rozšířením clusteru; nikoli pro jednotlivé weby |
Pody vytvořené rozšířením služby App Service
Když je rozšíření Služby App Service nainstalované v clusteru Kubernetes s podporou Služby Azure Arc, vytvoří se v zadaném oboru názvů vydané verze několik podů. Tyto pody umožňují clusteru Kubernetes být rozšířením Microsoft.Web
poskytovatele prostředků v Azure a podporovat správu a provoz vašich aplikací. Volitelně můžete zvolit, že rozšíření nainstaluje KEDA pro škálování řízené událostmi.
Následující tabulka popisuje roli každého podu vytvořeného ve výchozím nastavení:
Pod | Popis |
---|---|
<extensionName>-k8se-app-controller |
Pod základního operátora, který vytváří prostředky v clusteru a udržuje stav komponent. |
<extensionName>-k8se-envoy |
Front-endová vrstva proxy 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ých nástrojů. |
<extensionName>-k8se-http-scaler |
Monitoruje objem příchozích požadavků, aby poskytoval informace o škálování do KEDA. |
<extensionName>-k8se-img-cacher |
Načte zástupné symboly a obrázky aplikací do místní mezipaměti v 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. |
Prostředí Kubernetes služby App Service
Před vytvořením aplikací se vyžaduje prostředek prostředí Kubernetes služby App Service. Umožňuje konfiguraci běžnou pro aplikace ve vlastním umístění, jako je výchozí přípona 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. Lze ho přímo odvodit z zadaného ID vlastního umístění. Při definování šablon Azure Resource Manageru ale každý prostředek plánu musí odkazovat přímo 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 ke službě App Service, Functions a Logic Apps ve službě Azure Arc (Preview)
- Kolik to stojí?
- Podporují se aplikace pro Windows i Linux?
- Je možné rozšíření nainstalovat na uzly Windows?
- Které předdefinované zásobníky aplikací se podporují?
- Podporují se všechny typy nasazení aplikací?
- Které funkce služby App Service jsou podporované?
- Podporují se všechny síťové funkce?
- Podporují se spravované identity?
- Existují nějaká omezení škálování?
- Jaké protokoly se shromažďují?
- Co mám dělat, když se mi zobrazí chyba registrace poskytovatele?
- Můžu nasadit rozšíření Aplikační služby v clusteru založeném na Arm64?
- Na které distribuce Kubernetes můžu rozšíření nasadit?
Jaké jsou náklady?
App Service ve službě Azure Arc je zdarma ve verzi Public Preview.
Podporují se aplikace pro Windows i Linux?
Podporují se jenom linuxové aplikace, a to jak kód, tak vlastní kontejnery. Aplikace pro Windows nejsou podporované.
Je možné rozšíření nainstalovat na uzly Windows?
Ne, rozšíření nelze nainstalovat na uzly Windows. Rozšíření podporuje pouze instalaci na uzlech s Linuxem.
Které předdefinované zásobníky aplikací se podporují?
Podporují se všechny integrované linuxové zásobníky.
Podporují se všechny typy nasazení aplikací?
Nasazení FTP se nepodporuje. V současné době az webapp up
se také nepodporuje. Podporují se i jiné metody nasazení, včetně Gitu, ZIP, CI/CD, sady Visual Studio a editoru Visual Studio Code.
Které funkce služby App Service jsou podporované?
Během období Preview se ověřují určité funkce služby App Service. Když jsou podporované, aktivují se levé možnosti navigace na webu Azure Portal. Funkce, které ještě nejsou podporované, zůstanou neaktivní.
Podporují se všechny síťové funkce?
Ne. Síťové funkce, jako jsou hybridní připojení nebo integrace virtuální sítě, 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í ve službě Azure Arc nelze 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é se službou Aplikace Azure Service v Kubernetes se službou Azure Arc se můžou škálovat v rámci omezení základního clusteru Kubernetes. Pokud základní cluster Kubernetes vyčerpá dostupné výpočetní prostředky (primárně procesor a paměť), aplikace budou moct škálovat jenom na počet instancí aplikace, které může Kubernetes naplánovat s dostupným prostředkem.
Jaké protokoly se shromažďují?
Protokoly pro systémové komponenty i 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. Rozšíření clusteru Služby App Service můžete také nakonfigurovat s pracovním prostorem služby Log Analytics a odešle do něj všechny protokoly.
Protokoly ze systémových komponent se ve výchozím nastavení odesílají týmu Azure. Protokoly aplikací 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 čas potřebný pro všechny případy podpory a budete vyzváni ke shromažďování protokolů ze standardního výstupu jiným způsobem.
Co mám dělat, když se mi 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 Nenašli jsme žádného registrovaného poskytovatele 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. K opětovné registraci použijte Azure CLI ke spuštění az provider register --namespace Microsoft.Web --wait
. Pak znovu spusťte příkaz prostředí Kubernetes.
Můžu nasadit rozšíření Aplikační služby v clusteru založeném na Arm64?
Clustery založené na Arm64 se v tuto chvíli nepodporují.
Na které distribuce Kubernetes můžu rozšíření nasadit?
Rozšíření bylo ověřeno v 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 verze Public Preview rozšíření aplikačních služeb
- Podpora nasazení webového, funkčního a logického aplikací založeného na kódu a kontejneru
- Podpora modulu runtime webové aplikace --- .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 v1.19.0
- Upgrade modulu runtime azure Functions na verzi 3.3.1
- Nastavte výchozí počet replik App Controlleru a správce envoy na hodnotu 2, aby se přidala další stabilita.
Pokud vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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ůsobily selhání operací prohození slotů
- Vyřešené problémy, ke kterým došlo u zákazníků při vytváření webových aplikací Ruby
Pokud vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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 vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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ě sestavení
- Upgrade envoy na verzi 1.20.1
- Vyřešený problém s podporou Application Insights pro aplikace .NET
Pokud vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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ém s podporou odchozího proxy serveru pro povolení protokolování do pracovního prostoru služby Log Analytics
Pokud vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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 pro řešení selhání upgradu při upgradu z verze 0.12.0, pokud délka názvu rozšíření je delší než 35 znaků
Pokud vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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 pro integraci bez kódu Application Insights pro aplikace Node JS
- Přidání podpory pro omezení přístupu prostřednictvím rozhraní příkazového řádku
- Další podrobnosti o tom, kdy se rozšíření nepodaří nainstalovat, vám pomůže s řešením potíží.
Pokud vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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 pro řešení selhání upgradu, ke které došlo při automatickém upgradu clusterů na verzi 0.13.0
Pokud vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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
Rozšíření aplikačních služeb v 0.13.5 (prosinec 2023)
- Aktualizace pro podporu Kubernetes verze 1.26 a vyšší
- Aktualizace webu Envoy na verzi 1.2.1
- Aktualizace Keda na verzi 2.10.0
- Aktualizace EasyAuth na verzi 1.6.20
- Aktualizace základních imagí pro podporované jazyky
Pokud vaše rozšíření bylo ve stabilní verzi a podverze automatického upgradu je nastavená na true, rozšíření se automaticky upgraduje. 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.5