App Service, Functions en Logic Apps op Azure Arc (preview)

U kunt App Service, Functions en Logic Apps uitvoeren op een Azure Arc Kubernetes-cluster. Het Kubernetes-cluster kan on-premises zijn of worden gehost in een cloud van derden. Met deze aanpak kunnen app-ontwikkelaars profiteren van de functies van App Service. Tegelijkertijd kunnen it-beheerders de naleving van het bedrijf handhaven door de App Service apps in de interne infrastructuur te hosten. Ook kunnen andere IT-operators hun eerdere investeringen in andere cloudproviders beveiligen door App Service kubernetes-clusters uit te schakelen.

Notitie

Zie Een App Service Kubernetes-omgeving maken (preview)voor meer informatie over het instellen van uw Kubernetes-cluster voor App Service, Functions en Logic Apps.

In de meeste gevallen hoeven app-ontwikkelaars niets meer te weten dan implementeren in de juiste Azure-regio die staat voor de geïmplementeerde Kubernetes-omgeving. Voor operators die de omgeving leveren en de onderliggende Kubernetes-infrastructuur onderhouden, moet u rekening houden met de volgende Azure-resources:

Beperkingen voor openbare preview

De volgende beperkingen voor openbare preview zijn van toepassing op App Service Kubernetes-omgevingen. Ze worden bijgewerkt wanneer er wijzigingen beschikbaar worden gemaakt.

Beperking Details
Ondersteunde Azure-regio's VS - oost, Europa - west
Clusternetwerkvereiste Moet LoadBalancer servicetype ondersteunen en een openbaar adresseerbaar statisch IP-adres bieden
Clusteropslagvereiste Moet een aan het cluster gekoppelde opslagklasse beschikbaar hebben voor gebruik door de extensie ter ondersteuning van implementatie en het bouwen van op code gebaseerde apps, indien van toepassing
Functie: Netwerken Niet beschikbaar (afhankelijk van clusternetwerken)
Functie: Beheerde identiteiten Niet beschikbaar
Functie: Key Vault-verwijzingen Niet beschikbaar (afhankelijk van beheerde identiteiten)
Functie: Pull images from ACR with managed identity (Functie: pull-afbeeldingen van ACR met beheerde identiteit) Niet beschikbaar (afhankelijk van beheerde identiteiten)
Functie: Bewerken in de portal voor Functies en Logic Apps Niet beschikbaar
Functie: FTP-publicatie Niet beschikbaar
Logboeken Log Analytics moet worden geconfigureerd met de clusterextensie; niet per site

Pods die zijn gemaakt door de App Service extensie

Wanneer de App Service-extensie is geïnstalleerd op het kubernetes-cluster Azure Arc ingeschakeld, ziet u verschillende pods die zijn gemaakt in de opgegeven releasenaamruimte. Met deze pods kan uw Kubernetes-cluster een uitbreiding zijn van de resourceprovider in Azure en worden het beheer en de Microsoft.Web werking van uw apps ondersteund. U kunt er eventueel voor kiezen om de extensie KEDA te laten installeren voor gebeurtenisgestuurd schalen.

In de volgende tabel wordt de rol beschreven van elke pod die standaard wordt gemaakt:

Pod Description
<extensionName>-k8se-app-controller De kernoperatorpod die resources op het cluster maakt en de status van onderdelen onderhoudt.
<extensionName>-k8se-envoy Een front-endproxylaag voor alle gegevensvlakaanvragen. Het inkomende verkeer wordt naar de juiste apps gerouteeerd.
<extensionName>-k8se-activator Een alternatieve routeringsbestemming om te helpen bij apps die zijn geschaald naar nul terwijl het systeem het eerste exemplaar beschikbaar krijgt.
<extensionName>-k8se-build-service Ondersteunt implementatiebewerkingen en gebruikt de functie Geavanceerde hulpprogramma's.
<extensionName>-k8se-http-scaler Bewaakt het volume van binnenkomende aanvragen om schaalinformatie te bieden aan KEDA.
<extensionName>-k8se-img-cacher Haalt tijdelijke aanduidingen en app-afbeeldingen op in een lokale cache op het knooppunt.
<extensionName>-k8se-log-processor Verzamelt logboeken van apps en andere onderdelen en verzendt deze naar Log Analytics.
placeholder-azure-functions-* Wordt gebruikt om koude start te versnellen voor Azure Functions.

App Service Kubernetes-omgeving

De App Service Kubernetes-omgevingsresource is vereist voordat apps kunnen worden gemaakt. Hiermee wordt configuratie mogelijk die gebruikelijk is voor apps op de aangepaste locatie, zoals het standaard-DNS-achtervoegsel.

Er kan slechts één Kubernetes-omgevingsresource worden gemaakt op een aangepaste locatie. In de meeste gevallen hoeft een ontwikkelaar die apps maakt en implementeert niet direct op de hoogte te zijn van de resource. Dit kan rechtstreeks worden afgeleid van de opgegeven aangepaste locatie-id. Bij het definiëren van Azure Resource Manager sjablonen moet een planresource echter rechtstreeks verwijzen naar de resource-id van de omgeving. De aangepaste locatiewaarden van het plan en de opgegeven omgeving moeten overeenkomen.

Veelgestelde vragen App Service, Functies en Logic Apps over Azure Arc (preview)

Hoeveel kost het?

App Service op Azure Arc is gratis tijdens de openbare preview.

Worden zowel Windows als Linux-apps ondersteund?

Alleen Linux-apps worden ondersteund, zowel code als aangepaste containers. Windows apps worden niet ondersteund.

Welke ingebouwde toepassingsstacks worden ondersteund?

Alle ingebouwde Linux-stacks worden ondersteund.

Worden alle typen app-implementatie ondersteund?

FTP-implementatie wordt niet ondersteund. Momenteel az webapp up wordt ook niet ondersteund. Andere implementatiemethoden worden ondersteund, waaronder Git, ZIP, CI/CD, Visual Studio en Visual Studio Code.

Welke App Service worden ondersteund?

Tijdens de previewperiode worden bepaalde App Service gevalideerd. Wanneer ze worden ondersteund, worden de linkernavigatieopties in de Azure Portal geactiveerd. Functies die nog niet worden ondersteund, blijven grijs weergegeven.

Worden netwerkfuncties ondersteund?

Nee. Netwerkfuncties zoals hybride verbindingen, Virtual Network integratie of IP-beperkingen worden niet ondersteund. Netwerken moeten rechtstreeks worden verwerkt in de netwerkregels in het Kubernetes-cluster zelf.

Worden beheerde identiteiten ondersteund?

Nee. Aan apps kunnen geen beheerde identiteiten worden toegewezen wanneer ze worden uitgevoerd in Azure Arc. Als uw app een identiteit nodig heeft voor het werken met een andere Azure-resource, kunt u in plaats daarvan een toepassingsservice-principal gebruiken.

Zijn er schaallimieten?

Alle toepassingen die zijn geïmplementeerd Azure App Service kubernetes met Azure Arc kunnen worden geschaald binnen de limieten van het onderliggende Kubernetes-cluster. Als het onderliggende Kubernetes-cluster geen beschikbare rekenresources meer heeft (voornamelijk CPU en geheugen), kunnen toepassingen alleen worden geschaald naar het aantal exemplaren van de toepassing dat Kubernetes met de beschikbare resource kan plannen.

Welke logboeken worden verzameld?

Logboeken voor zowel systeemonderdelen als uw toepassingen worden naar de standaarduitvoer geschreven. Beide logboektypen kunnen worden verzameld voor analyse met behulp van standaardhulpprogramma's van Kubernetes. U kunt de clusterextensie App Service configureren met een Log Analytics-werkruimte.Alle logboeken worden dan naar die werkruimte verzenden.

Logboeken van systeemonderdelen worden standaard naar het Azure-team verzonden. Toepassingslogboeken worden niet verzonden. U kunt voorkomen dat deze logboeken worden overgebracht door logProcessor.enabled=false in te stellen als een configuratie-instelling voor de extensie. Hierdoor wordt ook het doorsturen van de toepassing naar uw Log Analytics-werkruimte uitgeschakeld. Het uitschakelen van de logboekprocessor kan invloed hebben op de tijd die nodig is voor ondersteuningsaanvragen; u wordt dan gevraagd om op een andere manier logboeken uit standaarduitvoer te verzamelen.

Wat moet ik doen als ik een providerregistratiefout zie?

Bij het maken van een Kubernetes-omgevingsresource zien sommige abonnementen mogelijk de fout 'Geen geregistreerde resourceprovider gevonden'. De foutdetails kunnen een set locaties en API-versies bevatten die als geldig worden beschouwd. Als dit gebeurt, kan het zijn dat het abonnement opnieuw moet worden geregistreerd bij de Microsoft.Web-provider, een bewerking die geen invloed heeft op bestaande toepassingen of API's. Als u zich opnieuw wilt registreren, gebruikt u de Azure CLI om uit te az provider register --namespace Microsoft.Web --wait voeren. Voer vervolgens de kubernetes-omgevingsopdracht opnieuw uit.

Kan ik de Application Services-extensie implementeren op een cluster op basis van ARM64?

Op ARM64 gebaseerde clusters worden op dit moment niet ondersteund.

Opmerkingen bij de release van de extensie

Toepassingsservices-extensie v 0.9.0 (mei 2021)

  • Eerste openbare preview-versie van application services-extensie.
  • Ondersteuning voor code- en containerimplementaties van web-, functie- en logische toepassingen.
  • Ondersteuning voor webtoepassingsruntime - .NET 3.1 en 5.0; Node JS 12 en 14; Python 3.6, 3.7 en 3.8; PHP 7.3 en 7.4; Ruby 2.5, 2.5.5, 2.6 en 2.6.2; Java SE 8u232, 8u242, 8u252, 11.05, 11.06 en 11.07; Tomcat 8.5, 8.5.41, 8.5.53, 8.5.57, 9.0, 9.0.20, 9.0.33 en 9.0.37.

Toepassingsservices-extensie v 0.10.0 (november 2021)

Als uw extensie in de stabiele versie was en auto-upgrade-minor-version is ingesteld op ingeschakeld, wordt de extensie automatisch bijgewerkt. Als u de extensie handmatig wilt bijwerken naar de nieuwste versie van de extensie, kunt u de onderstaande opdracht uitvoeren

  • Vereiste voor vooraf toegewezen statisch IP-adres verwijderd dat vereist is voor toewijzing aan het Envoy-eindpunt
  • Keda upgraden naar v2.4.0
  • Envoy upgraden naar v1.19.0
  • Azure Function-runtime upgraden naar v3.3.1
  • Stel het standaard aantal replica's van App Controller en Envoy Controller in op 2 om verdere stabiliteit toe te voegen

Als uw extensie in de stabiele versie was en auto-upgrade-minor-version is ingesteld op true, wordt de extensie automatisch bijgewerkt. Als u de extensie handmatig wilt bijwerken naar de nieuwste versie, kunt u de onderstaande opdracht uitvoeren:

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

Volgende stappen

Een kubernetes App Service omgeving maken (preview)