Condividi tramite


App Azure Container in Azure Arc

È possibile eseguire app contenitore in un servizio Azure Kubernetes abilitato per Azure Arc o nel cluster locale di Azure.

L'esecuzione in un cluster Kubernetes abilitato per Azure Arc consente:

  • Agli sviluppatori, di sfruttare le funzionalità delle app contenitore
  • Agli Amministratori IT, di mantenere la conformità aziendale ospitando app contenitore nell'infrastruttura interna.

Informazioni su come configurare il cluster Kubernetes per le app contenitore tramite Configurazione di un cluster Kubernetes abilitato per Azure Arc per eseguire App Contenitore di Azure

Durante la configurazione del cluster, eseguire queste azioni:

Limitazioni

Le limitazioni seguenti si applicano ad App Azure Container in Kubernetes con abilitazione di Azure Arc.

Limitazione Dettagli
Aree di Azure supportate Stati Uniti centrali, Asia orientale, Stati Uniti orientali, Stati Uniti centro-settentrionali, Asia sud-orientale, Svezia centrale, Regno Unito meridionale, Europa occidentale, Stati Uniti occidentali
Requisito di rete del cluster Deve supportare il tipo di servizio LoadBalancer
Requisito del sistema operativo del nodo Solo Linux.
Funzionalità: Identità gestite Non disponibile
Funzionalità: eseguire il pull di immagini da Registro Azure Container con identità gestita Non disponibile (dipende dalle identità gestite)
Registri Log Analytics deve essere configurato con l'estensione del cluster; non per applicazione

Sono supportate le funzionalità seguenti:

  • Etichette
  • Metriche
  • Autenticazione semplice
  • Flusso di log
  • Resilienza
  • Domini personalizzati
  • Attività delle app container
  • Gestione delle revisioni
  • Console del contenitore di app

Importante

Se si esegue la distribuzione nel servizio Azure Kubernetes in Locale di Azure , assicurarsi di avere configurato HAProxy come servizio di bilanciamento del carico prima di tentare di installare l'estensione.

Risorse create dall'estensione App contenitore

Quando l'estensione App contenitore viene installata nel cluster Kubernetes abilitato per Azure Arc, vengono create diverse risorse nello spazio dei nomi della versione specificato. Queste risorse consentono al cluster di essere un'estensione del provider di risorse Microsoft.App per supportare la gestione e il funzionamento delle app.

Facoltativamente, è possibile scegliere di installare l'estensione KEDA per il ridimensionamento basato su eventi. Tuttavia, nel cluster è consentita solo un'installazione KEDA. Se si dispone di un'installazione esistente, disabilitare l'installazione di KEDA durante l'installazione dell'estensione del cluster.

La tabella seguente descrive il ruolo di ogni revisione creata automaticamente:

Baccello Descrizione Numero di istanze CPU (unità centrale di elaborazione) Memoria TIPO
<extensionName>-k8se-activator Usato come parte della pipeline di ridimensionamento 2 100 millesimi di CPU 500 MB ReplicaSet
<extensionName>-k8se-billing Generazione di record di fatturazione 3 100 millesimi di CPU 100 MB ReplicaSet
<extensionName>-k8se-containerapp-controller Pod dell'operatore principale che crea risorse nel cluster e mantiene lo stato dei componenti. 2 100 millesimi di CPU 1 GB ReplicaSet
<extensionName>-k8se-envoy Livello proxy front-end per tutte le richieste HTTP del piano dati. Instrada il traffico in ingresso alle app corrette. 3 1 core 1.536 MB ReplicaSet
<extensionName>-k8se-envoy-controller Operatore, che genera la configurazione Envoy 2 200 milliCPU (unità centrale di elaborazione in frazioni di millesimo) 500 MB ReplicaSet
<extensionName>-k8se-event-processor Destinazione di routing alternativa per aiutare le app con scalabilità orizzontale a zero mentre il sistema ottiene la prima istanza disponibile. 2 100 millesimi di CPU 500 MB ReplicaSet
<extensionName>-k8se-http-scaler Monitora il volume delle richieste in ingresso per fornire informazioni di ridimensionamento per KEDA. 1 100 millesimi di CPU 500 MB ReplicaSet
<extensionName>-k8se-keda-cosmosdb-scaler Scalare KEDA Cosmos DB 1 10 m 128 MB ReplicaSet
<extensionName>-k8se-keda-metrics-apiserver Server delle metriche KEDA 1 1 core 1.000 MB ReplicaSet
<extensionName>-k8se-keda-operator Ridimensiona i carichi di lavoro da 0/1 a N istanze 1 100 millesimi di CPU 500 MB ReplicaSet
<extensionName>-k8se-log-processor Raccoglie i log dalle app e da altri componenti e li invia a Log Analytics. 2 200 milliCPU (unità centrale di elaborazione in frazioni di millesimo) 500 MB DaemonSet
<extensionName>-k8se-mdm Agente metriche e log 2 500 millicpu 500 MB ReplicaSet
dapr-metrics Pod delle metriche Dapr 1 100 millesimi di CPU 500 MB ReplicaSet
dapr-operator Gestisce gli aggiornamenti dei componenti e gli endpoint di servizio per Dapr 1 100 millesimi di CPU 500 MB ReplicaSet
dapr-placement-server Usato solo per Actors: crea tabelle di mapping che eseguono il mapping delle istanze dell'attore ai pod 1 100 millesimi di CPU 500 MB StatefulSet
dapr-sentry Gestisce mTLS tra i servizi e funge da CA 2 800 millicpu (unità di misura della CPU) 200 MB ReplicaSet

Domande frequenti sulle app di Azure Container in Azure Arc

Quali funzionalità di App contenitore sono supportate?

Controllare il portale per l'elenco più aggiornato. Le funzionalità non supportate sono disattivate nel portale.

Le identità gestite sono supportate?

Le identità gestite non sono supportate. Le app non possono essere assegnate alle identità gestite durante l'esecuzione in Azure Arc. Se l'app necessita di 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 scalabilità?

Tutte le applicazioni distribuite con app Azure Container in Kubernetes abilitate per Azure Arc possono essere ridimensionate entro i limiti del cluster Kubernetes sottostante. Se il cluster esaurisce le risorse di calcolo disponibili (CPU e memoria principalmente), le applicazioni vengono ridimensionate fino al 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 dell'ambiente dell'applicazione 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 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 disabilita l'inoltro dell'applicazione all'area di lavoro Log Analytics. La disabilitazione del processore di log potrebbe influire sul tempo necessario per tutti i casi 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 connesso di App Azure Container, alcune sottoscrizioni potrebbero visualizzare l'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.App. La ripetizione della registrazione del provider non ha alcun effetto 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.App --wait. Ripetere quindi il comando dell'ambiente connesso.

L'estensione può essere installata nei nodi Windows?

No, l'estensione non può essere installata nei nodi Windows. L'estensione supporta l'installazione solo in nodi Linux.

È possibile distribuire l'estensione App contenitore in un cluster basato su Arm64?

No I cluster basati su Arm64 non sono supportati.