servizio app, funzioni e app per la logica in Azure Arc (anteprima)

È possibile eseguire servizio app, funzioni e app per la logica in un cluster Kubernetes abilitato per Azure Arc. Il cluster Kubernetes può essere locale o ospitato in un cloud di terze parti. Questo approccio consente agli sviluppatori di app di sfruttare le funzionalità di servizio app. Allo stesso tempo, consente agli amministratori IT di mantenere la conformità aziendale ospitando le app servizio app nell'infrastruttura interna. Consente anche ad altri operatori IT di salvaguardare gli investimenti precedenti in altri provider di servizi cloud eseguendo servizio app nei cluster Kubernetes esistenti.

Nota

Per informazioni su come configurare il cluster Kubernetes per servizio app, funzioni e app per la logica, vedere Creare un ambiente Kubernetes servizio app (anteprima).

Nella maggior parte dei casi, gli sviluppatori di app devono conoscere solo come eseguire la distribuzione nell'area di Azure corretta che rappresenta l'ambiente Kubernetes distribuito. Per gli operatori che forniscono l'ambiente e gestiscono l'infrastruttura Kubernetes sottostante, è necessario conoscere le risorse di Azure seguenti:

Limiti dell'anteprima pubblica

Le limitazioni dell'anteprima pubblica seguenti si applicano a servizio app ambienti Kubernetes. Questo elenco di limitazioni viene aggiornato man mano che vengono rese disponibili le modifiche e le funzionalità.

Limitazione Dettagli
Aree di Azure supportate Stati Uniti orientali, Europa occidentale
Requisito di rete del cluster Deve supportare il LoadBalancer tipo di servizio
Requisito di archiviazione del cluster È necessario che la classe di archiviazione collegata al cluster sia disponibile per l'uso da parte dell'estensione per supportare la distribuzione e la compilazione di app basate su codice, se applicabile
Funzionalità: Rete Non disponibile (si basano sulla rete del cluster)
Funzionalità: Identità gestite Non disponibile
Funzionalità: riferimenti all'insieme di credenziali delle chiavi Non disponibile (dipende dalle identità gestite)
Funzionalità: eseguire il pull di immagini da Registro Azure Container con identità gestita Non disponibile (dipende dalle identità gestite)
Funzionalità: modifica nel portale per Funzioni e App per la logica Non disponibile
Funzionalità: elenco del portale di funzioni o chiavi Non disponibile se il cluster non è raggiungibile pubblicamente
Funzionalità: pubblicazione FTP Non disponibile
Log Log Analytics deve essere configurato con l'estensione del cluster; non per sito

Pod creati dall'estensione servizio app

Quando l'estensione servizio app viene installata nel cluster Kubernetes abilitato per Azure Arc, vengono creati diversi pod nello spazio dei nomi di versione specificato. Questi pod consentono al cluster Kubernetes di essere un'estensione del Microsoft.Web provider di risorse in Azure e supportano la gestione e il funzionamento delle app. Facoltativamente, è possibile scegliere di installare KEDA per il ridimensionamento basato su eventi.

La tabella seguente descrive il ruolo di ogni pod creato per impostazione predefinita:

Pod Descrizione
<extensionName>-k8se-app-controller Pod dell'operatore core che crea le risorse nel cluster e mantiene lo stato dei componenti.
<extensionName>-k8se-envoy Livello proxy front-end per tutte le richieste del piano dati. Instrada il traffico in ingresso alle app corrette.
<extensionName>-k8se-activator Una destinazione di routing alternativa per aiutare con le app con scalabilità orizzontale a zero mentre il sistema ottiene la prima istanza disponibile.
<extensionName>-k8se-build-service Supporta le operazioni di distribuzione e gestisce la funzionalità Strumenti avanzati.
<extensionName>-k8se-http-scaler Monitora il volume delle richieste in ingresso per fornire informazioni di ridimensionamento a KEDA.
<extensionName>-k8se-img-cacher Esegue il pull di immagini segnaposto e app in una cache locale nel nodo.
<extensionName>-k8se-log-processor Raccoglie i log dalle app e da altri componenti e li invia a Log Analytics.
placeholder-azure-functions-* Usato per velocizzare l'avvio a freddo per Funzioni di Azure.

servizio app ambiente Kubernetes

Prima di poter creare le app, è necessario servizio app risorsa dell'ambiente Kubernetes. Consente la configurazione comune alle app nel percorso personalizzato, ad esempio il suffisso DNS predefinito.

È possibile creare una sola risorsa di ambiente Kubernetes in una posizione personalizzata. Nella maggior parte dei casi, uno sviluppatore che crea e distribuisce le app non deve essere a conoscenza diretta della risorsa. Può essere dedotto direttamente dall'ID percorso personalizzato specificato. Tuttavia, quando si definiscono modelli di Azure Resource Manager, qualsiasi risorsa del piano deve fare riferimento direttamente all'ID risorsa dell'ambiente. I valori della posizione personalizzata del piano e dell'ambiente specificato devono corrispondere.

Domande frequenti su servizio app, funzioni e app per la logica in Azure Arc (anteprima)

Quanto costa?

servizio app in Azure Arc è gratuito durante l'anteprima pubblica.

Le app Windows e Linux sono supportate?

Sono supportate solo le app basate su Linux, sia il codice che i contenitori personalizzati. Windows le app non sono supportate.

Quali stack di applicazioni predefiniti sono supportati?

Sono supportati tutti gli stack Linux predefiniti.

Tutti i tipi di distribuzione delle app sono supportati?

La distribuzione FTP non è supportata. Attualmente az webapp up non è supportato. Sono supportati altri metodi di distribuzione, tra cui Git, ZIP, CI/CD, Visual Studio e Visual Studio Code.

Quali funzionalità servizio app sono supportate?

Durante il periodo di anteprima vengono convalidate alcune funzionalità di servizio app. Quando sono supportate, le opzioni di spostamento a sinistra nella portale di Azure verranno attivate. Le funzionalità non ancora supportate rimangono disattivate.

Tutte le funzionalità di rete sono supportate?

No. Le funzionalità di rete, ad esempio connessioni ibride o Rete virtuale integrazione, non sono supportate. Il supporto delle restrizioni di accesso è stato aggiunto nel mese di aprile 2022. La rete deve essere gestita direttamente nelle regole di rete nel cluster Kubernetes stesso.

Le identità gestite sono supportate?

No. Le app non possono essere assegnate identità gestite durante l'esecuzione in Azure Arc. Se l'app necessita di un'identità per l'uso di un'altra risorsa di Azure, è consigliabile usare invece un'entità servizio applicazione .

Esistono limiti di scalabilità?

Tutte le applicazioni distribuite con Servizio app di Azure in Kubernetes con Azure Arc sono in grado di ridimensionare entro i limiti del cluster Kubernetes sottostante. Se il cluster Kubernetes sottostante esce dalle risorse di calcolo disponibili (CPU e memoria principalmente), le applicazioni potranno ridimensionare solo il numero di istanze dell'applicazione che Kubernetes può pianificare con la risorsa disponibile.

Quali log vengono raccolti?

I log per entrambi i componenti di sistema e le applicazioni vengono scritti nell'output standard. Entrambi i tipi di log possono essere raccolti per l'analisi usando gli strumenti standard di Kubernetes. È anche possibile configurare l'estensione del cluster servizio app con un'area di lavoro Log Analytics e invia tutti i log a tale area di lavoro.

Per impostazione predefinita, i log dei componenti di sistema vengono inviati al team di Azure. I registri applicazioni non vengono inviati. È possibile impedire il trasferimento dei log impostando logProcessor.enabled=false come impostazione di configurazione dell'estensione. Questa impostazione di configurazione disabilita anche l'inoltro dell'applicazione all'area di lavoro Log Analytics. La disabilitazione del processore di log potrebbe influire sul tempo necessario per eventuali casi di supporto e verrà chiesto di raccogliere i log dall'output standard tramite altri mezzi.

Cosa si fa se viene visualizzato un errore di registrazione del provider?

Quando si crea una risorsa di ambiente Kubernetes, alcune sottoscrizioni potrebbero visualizzare un errore "Nessun provider di risorse registrato trovato". I dettagli dell'errore potrebbero includere un set di posizioni e versioni api considerate valide. Se viene restituito questo messaggio di errore, la sottoscrizione deve essere nuovamente registrata con il provider Microsoft.Web, un'operazione che non ha alcun impatto sulle applicazioni o sulle API esistenti. Per eseguire nuovamente la registrazione, usare l'interfaccia della riga di comando di Azure per eseguire az provider register --namespace Microsoft.Web --wait. Ripetere quindi il comando ambiente Kubernetes.

È possibile distribuire l'estensione Servizi applicazione in un cluster basato su ARM64?

I cluster basati su ARM64 non sono supportati in questo momento.

Note sulla versione dell'estensione

Estensione servizi applicazioni v 0.9.0 (maggio 2021)

  • Versione iniziale di anteprima pubblica dell'estensione dei servizi applicazione.
  • Supporto per le distribuzioni basate su codice e contenitore di applicazioni Web, funzione e logica.
  • Il runtime di applicazioni Web supporta --- .NET 3.1 e 5.0; Nodo JS 12 e 14; Python 3.6, 3.7 e 3.8; PHP 7.3 e 7.4; Ruby 2.5, 2.5.5, 2.6 e 2.6.2; Java edizione Standard 8u232, 8u242, 8u252, 11.05, 11.06 e 11.07; Tomcat 8.5, 8.5.41, 8.5.53, 8.5.57, 9.0, 9.0.20, 9.0.33 e 9.0.37.

Estensione servizi applicazione v 0.10.0 (novembre 2021)

  • Requisito rimosso per l'indirizzo IP statico predefinito richiesto per l'assegnazione all'endpoint Envoy
  • Aggiornare Keda alla versione 2.4.0
  • Eseguire l'aggiornamento di Envoy alla versione 1.19.0
  • Aggiornare il runtime di funzioni di Azure alla versione 3.3.1
  • Impostare il numero di repliche predefinito di Controller app e Controller Envoy su 2 per aggiungere ulteriore stabilità

Se l'estensione era nella versione stabile e la versione secondaria di aggiornamento automatico è impostata su true, l'estensione viene aggiornata automaticamente. Per aggiornare manualmente l'estensione alla versione più recente, è possibile eseguire il comando:

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

Estensione servizi applicazione v 0.11.0 (dicembre 2021)

  • Aggiunta del supporto dell'applicazione Insights per applicazioni Web Java e .NET
  • Aggiunta del supporto per le applicazioni Web .NET 6.0
  • Rimosso .NET Core 2.0
  • Problemi risolti che causavano l'esito negativo delle operazioni di scambio dello slot
  • Problemi risolti riscontrati dai clienti durante la creazione di applicazioni Web Ruby

Se l'estensione era nella versione stabile e la versione secondaria di aggiornamento automatico è impostata su true, l'estensione viene aggiornata automaticamente. Per aggiornare manualmente l'estensione alla versione più recente, è possibile eseguire il comando:

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

Estensione servizi applicazione v 0.11.1 (dicembre 2021)

  • Versione secondaria per risolvere il problema con l'aggiornamento CRD

Se l'estensione era nella versione stabile e la versione secondaria di aggiornamento automatico è impostata su true, l'estensione viene aggiornata automaticamente. Per aggiornare manualmente l'estensione alla versione più recente, è possibile eseguire il comando:

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

Estensione servizi applicazione v 0.12.0 (gennaio 2022)

  • Supporto per il proxy in uscita
  • Supporto per le compilazioni parallele nel servizio di compilazione
  • Aggiornare Envoy a 1.20.1
  • Problema risolto con il supporto dell'applicazione Insights per le applicazioni .NET

Se l'estensione era nella versione stabile e la versione secondaria di aggiornamento automatico è impostata su true, l'estensione viene aggiornata automaticamente. Per aggiornare manualmente l'estensione alla versione più recente, è possibile eseguire il comando:

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

Estensione servizi applicazione v 0.12.1 (marzo 2022)

  • Problema risolto con il supporto proxy in uscita per abilitare la registrazione nell'area di lavoro Log Analytics

Se l'estensione era nella versione stabile e la versione secondaria di aggiornamento automatico è impostata su true, l'estensione viene aggiornata automaticamente. Per aggiornare manualmente l'estensione alla versione più recente, è possibile eseguire il comando:

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

Estensione servizi applicazione v 0.12.2 (marzo 2022)

  • Aggiornare per risolvere gli errori di aggiornamento durante l'aggiornamento dalla versione 0.12.0 quando la lunghezza del nome dell'estensione è superiore a 35 caratteri

Se l'estensione era nella versione stabile e la versione secondaria di aggiornamento automatico è impostata su true, l'estensione viene aggiornata automaticamente. Per aggiornare manualmente l'estensione alla versione più recente, è possibile eseguire il comando:

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

Estensione servizi applicazione v 0.13.0 (aprile 2022)

  • Aggiunta del supporto per l'integrazione senza codice per le applicazioni Node JS Insights
  • Aggiunta del supporto per restrizioni di accesso tramite l'interfaccia della riga di comando
  • Altri dettagli forniti quando l'estensione non riesce a installare, per facilitare la risoluzione dei problemi

Se l'estensione era nella versione stabile e la versione secondaria di aggiornamento automatico è impostata su true, l'estensione viene aggiornata automaticamente. Per aggiornare manualmente l'estensione alla versione più recente, è possibile eseguire il comando:

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

Estensione servizi applicazione v 0.13.1 (aprile 2022)

  • Aggiornamento per risolvere gli errori di aggiornamento visualizzati durante l'aggiornamento automatico dei cluster alla versione 0.13.0

Se l'estensione era nella versione stabile e la versione secondaria di aggiornamento automatico è impostata su true, l'estensione viene aggiornata automaticamente. Per aggiornare manualmente l'estensione alla versione più recente, è possibile eseguire il comando:

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

Passaggi successivi

Creare un ambiente Kubernetes servizio app (anteprima)