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 non devono sapere altro che 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 tenere presente le risorse di Azure seguenti:

  • Il cluster connesso, ovvero una proiezione di Azure dell'infrastruttura Kubernetes. Per altre informazioni, vedere Che cos'è Kubernetes abilitato per Azure Arc?.
  • Estensione del cluster, che è una sottorisorsa della risorsa cluster connessa. L'estensione servizio app installa i pod necessari nel cluster connesso. Per altre informazioni sulle estensioni del cluster, vedere Estensioni del cluster in Kubernetes abilitato per Azure Arc.
  • Posizione personalizzata, che raggruppa un gruppo di estensioni e le esegue il mapping a uno spazio dei nomi per le risorse create. Per altre informazioni, vedere Percorsi personalizzati su Kubernetes abilitato per Azure Arc.
  • Un ambiente Kubernetes servizio app, che consente la configurazione comune tra le app, ma non correlate alle operazioni del cluster. Concettualmente, viene distribuita nella risorsa percorso personalizzata e gli sviluppatori di app creano app in questo ambiente. Questa risorsa è descritta in modo più dettagliato in servizio app ambiente Kubernetes.

Limiti dell'anteprima pubblica

Le limitazioni dell'anteprima pubblica seguenti si applicano agli ambienti Kubernetes servizio app. Questo elenco di limitazioni viene aggiornato man mano che vengono rese disponibili modifiche e 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 (fare affidamento 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
Registri 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 della versione specificato. Questi pod consentono al cluster Kubernetes di essere un'estensione del Microsoft.Web provider di risorse in Azure e supportare 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 principale che crea 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 Destinazione di routing alternativa per aiutare 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 serve 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 un percorso personalizzato. Nella maggior parte dei casi, uno sviluppatore che crea e distribuisce 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. Le app di Windows 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 servizio app funzionalità sono supportate?

Durante il periodo di anteprima, vengono convalidate determinate funzionalità 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?

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

Le identità gestite sono supportate?

Nr. Le app non possono essere assegnate identità gestite durante l'esecuzione in Azure Arc. Se l'app richiede un'identità per l'uso di un'altra risorsa di Azure, prendere in considerazione l'uso di un'entità servizio dell'applicazione.

Esistono limiti di ridimensionamento?

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

Quali log vengono raccolti?

I log per 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 inviare tutti i log a tale area di lavoro.

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

Cosa fare 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 possono 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 ripetere la registrazione, usare l'interfaccia della riga di comando di Azure per eseguire az provider register --namespace Microsoft.Web --wait. Ripetere quindi il comando dell'ambiente Kubernetes.

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

I cluster basati su ARM64 non sono attualmente supportati.

In quali distribuzioni Kubernetes è possibile distribuire l'estensione?

L'estensione è stata convalidata nel servizio Azure Kubernetes, nel servizio Azure Kubernetes in Azure Stack HCI, nel motore di Google Kubernetes, nel servizio Amazon Elastic Kubernetes e nell'API del cluster Kubernetes.

Note sulla versione dell'estensione

Estensione servizi applicazioni v 0.9.0 (maggio 2021)

  • Versione di anteprima pubblica iniziale dell'estensione servizi applicazione.
  • Supporto per le distribuzioni basate su codice e contenitore di applicazioni Web, funzioni e logica.
  • Il runtime dell'applicazione 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 applicazioni v 0.10.0 (novembre 2021)

  • È stato rimosso il requisito per l'indirizzo IP statico pre-assegnato necessario 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 si trova 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 applicazioni v 0.11.0 (dicembre 2021)

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

Se l'estensione si trova 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 applicazioni v 0.11.1 (dicembre 2021)

  • Versione secondaria per risolvere il problema relativo all'aggiornamento CRD

Se l'estensione si trova 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 applicazioni v 0.12.0 (gennaio 2022)

  • Supporto per il proxy in uscita
  • Supporto per compilazioni parallele nel servizio di compilazione
  • Eseguire l'aggiornamento di Envoy alla versione 1.20.1
  • Problema risolto con il supporto di Application Insights per le applicazioni .NET

Se l'estensione si trova 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 applicazioni 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 si trova 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 applicazioni v 0.12.2 (marzo 2022)

  • Aggiornamento per risolvere gli errori di aggiornamento durante l'aggiornamento dalla versione 0.12.0 quando la lunghezza del nome dell'estensione supera i 35 caratteri

Se l'estensione si trova 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 applicazioni v 0.13.0 (aprile 2022)

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

Se l'estensione si trova 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 applicazioni v 0.13.1 (aprile 2022)

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

Se l'estensione si trova 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

Estensione servizi applicazioni v 0.13.5 (dicembre 2023)

  • Aggiornamento per supportare Kubernetes versione 1.26 e successive
  • Aggiornare Envoy alla versione 1.2.1
  • Aggiornare Keda alla versione 2.10.0
  • Aggiornare EasyAuth alla versione 1.6.20
  • Aggiornare le immagini di base per le lingue supportate

Se l'estensione si trova 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.5

Passaggi successivi

Creare un ambiente Kubernetes servizio app (anteprima)