Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
App contenitore di Azure in Kubernetes abilitato per Azure Arc consente di eseguire workload di App contenitore su un'infrastruttura Kubernetes supportata all'esterno dei data center di Azure, incluso il servizio Azure Kubernetes in Azure Localee. Gestisci le applicazioni come risorse Azure mentre i container applicativi e il piano dati Container Apps girano sul tuo cluster Kubernetes.
Eseguire Container Apps su Azure Arc può aiutarti:
- Esegui applicazioni vicino a utenti, dispositivi o fonti dati on-premises per ridurre la latenza.
- Mantieni l'elaborazione delle domande in una posizione che supporti i requisiti di residenza dei dati, sovranità o conformità della tua organizzazione.
- Fornire ai team applicative un modello applicativo Container Apps mentre i team infrastrutturali mantengono il controllo del cluster Kubernetes, della rete, dello storage, della capacità e del ciclo di vita.
- Gestisci le applicazioni tra le sedi supportate tramite Azure Resource Manager, interfaccia della riga di comando di Azure e il portale Azure.
- Utilizza funzionalità supportate dalle Container Apps come revisioni, ingressi, autoscaling, Dapr, jobs, metriche, log streaming, domini personalizzati e accesso alla console applicativa.
Container Apps su Azure Arc non è un servizio di calcolo ospitato. La tua organizzazione fornisce, protegge, scala, patcha e gestisce il cluster Kubernetes sottostante e le sue risorse di calcolo, networking e archiviazione.
Per preparare un cluster e distribuire la tua prima applicazione, completa Configura un cluster Kubernetes abilitato per Azure Arc per eseguire App contenitore di Azure, e poi completa Crea un'app container su Azure Arc.
Mentre configuri il tuo cluster, crei o utilizzi queste risorse:
Cluster connesso: La rappresentazione Azure Resource Manager del tuo cluster Kubernetes. Gli agenti Azure Arc che girano nel cluster mantengono la connessione ad Azure. Per altre informazioni, vedere Che cos'è Kubernetes abilitato per Azure Arc?
Estensione del cluster Container Apps: Software installato nel cluster che fornisce i controller Container Apps, ingress, scaling, Dapr, logging e altri componenti del piano dati. L'estensione è una risorsa figlia del cluster connesso.
Posizione personalizzata: Una risorsa di localizzazione Azure che associa il cluster connesso, l'estensione Container Apps e il namespace Kubernetes dove vengono create le risorse Container Apps.
Ambiente connesso di Container Apps: L'ambito dell'applicazione in cui gli sviluppatori distribuiscono app contenitore e processi. L'ambiente connesso fa riferimento alla posizione personalizzata e contiene la configurazione condivisa dalle sue applicazioni.
L'ordine delle dipendenze è: cluster connesso > estensione del cluster > posizione personalizzata > ambiente connesso > app contenitore o processo. Se una risorsa precedente è malsana, le risorse più avanzate nella catena potrebbero non essere approvvigionate.
Limitazioni
Le seguenti limitazioni si applicano ad App contenitore di Azure su Kubernetes abilitato per Azure Arc.
| Limitazione | Dettagli |
|---|---|
| Aree di Azure supportate | Australia Est, Asia orientale, Est degli Stati Uniti, Nord Centro degli Stati Uniti, Sud-est asiatico, Svezia centrale, Regno Unito Sud, Europa occidentale, Ovest degli Stati Uniti |
| 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 ACR con identità gestita | Non disponibile (dipende dalle identità gestite) |
| Caratteristica: File di Azure | Il driver SMB (>= v1.18.0) dovrebbe essere installato prima di utilizzare lo storage SMB di File di Azure |
| Log | Log Analytics deve essere configurato con l'estensione del cluster; non per applicazione |
Sono supportate le seguenti funzionalità:
- Etichette
- Metriche
- Autenticazione semplice
- Flusso di log
- Resilienza
- Domini personalizzati
- Processi di App contenitore
- Gestione delle revisioni
- Console del contenitore di app
Importante
Prima di installare l'estensione su AKS su Azure Locale, configura HAProxy o un altro bilanciatore di carico supportato e configura un CoreDNS personalizzato. Per configurare CoreDNS per AKS su Azure Locale, esegui az containerapp arc setup-core-dns --distro AksAzureLocal. Per le opzioni di comando, vedi az containerapp arc.
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.
L'estensione può installare i componenti KEDA utilizzati per la scalabilità guidata da eventi e HTTP. Solo un'installazione KEDA supportata può essere eseguita nel cluster. Prima dell'installazione, esegui kubectl get deployment -A | grep -i keda per verificare se esiste già un'installazione. Se KEDA esiste già, fermarsi e confermare la configurazione di coesistenza supportata prima di continuare. Non rimuovere l'installazione KEDA esistente né applicare impostazioni di estensione non documentate perché altri carichi di lavoro potrebbero dipendere da essa.
La tabella seguente descrive il ruolo di ogni componente di estensione creato per te:
| Pod | Descrizione | Numero di istanze | CPU (unità centrale di elaborazione) | Memoria | TIPO |
|---|---|---|---|---|---|
<extensionName>-k8se-activator |
Usato come parte della pipeline di ridimensionamento | 2 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-billing |
Generazione di record di fatturazione | 3 | 100 millicpu | 100 MB | ReplicaSet |
<extensionName>-k8se-containerapp-controller |
Pod dell'operatore principale che crea risorse nel cluster e mantiene lo stato dei componenti. | 2 | 100 millicpu | 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 | 500 MB | ReplicaSet |
<extensionName>-k8se-event-processor |
Una destinazione di routing alternativa di aiuto per le app con scalabilità orizzontale a zero mentre il sistema ottiene la prima istanza disponibile. | 2 | 100 millicpu | 500 MB | ReplicaSet |
<extensionName>-k8se-http-scaler |
Monitora il volume delle richieste in ingresso per fornire informazioni di ridimensionamento per KEDA. | 1 | 100 millicpu | 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 millicpu | 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 | 500 MB | DaemonSet |
<extensionName>-k8se-mdm |
Agente metriche e log | 2 | 500 millicpu (misura di potenza di calcolo in termini di millesimi di CPU) | 500 MB | ReplicaSet |
| dapr-metrics | Pod delle metriche Dapr | 1 | 100 millicpu | 500 MB | ReplicaSet |
| dapr-operator | Gestisce gli aggiornamenti dei componenti e gli endpoint di servizio per Dapr | 1 | 100 millicpu | 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 millicpu | 500 MB | StatefulSet |
| dapr-sentry | Gestisce mTLS tra i servizi e funge da CA | 2 | 800 millicpu | 200 MB | ReplicaSet |
Domande frequenti sulle app di Azure Container in Azure Arc
- App contenitore di Azure in Azure Arc
Quali funzionalità di App contenitore sono supportate?
Per lo stato di supporto documentato e i prerequisiti di ogni funzionalità, vedi Limitazioni. Il portale Azure disabilita anche i controlli non disponibili in un ambiente connesso. Il supporto può dipendere dalla versione installata dell'estensione, quindi verifica le note di rilascio dell'estensione prima di usare una funzione aggiunta di recente.
Le identità gestite sono supportate?
No. Non puoi assegnare un'identità gestita a un'app container o a un lavoro in un ambiente connesso. Anche l'autenticazione con identità gestita per le pull di immagini di Registro Azure Container non è disponibile.
Se un'applicazione deve autenticarsi a una risorsa di Azure, usa un'applicazione Microsoft Entra e un service principal:
- Crea o individua una registrazione dell'applicazione.
- Concedere al suo principale di servizio solo il ruolo Azure richiesto dall'applicazione.
- Conserva la credenziale come segreto di Container Apps.
- Fai riferimento al segreto attraverso variabili ambientali nell'applicazione.
- Stabilisci un processo di rotazione delle credenziali.
Per altre informazioni, vedere Oggetti applicazione e oggetti entità servizio in Microsoft Entra ID. Evita di incorporare credenziali in un repository di immagini o sorgenti.
Esistono limiti di scalabilità?
Le app container e i job possono scalare solo all'interno della CPU, della memoria e delle risorse specializzate allocatibili nel cluster Kubernetes sottostante. Impostare un numero massimo di repliche non riserva capacità.
Quando il cluster manca di capacità, Kubernetes lascia nuove repliche in sospeso e l'applicazione non raggiunge il numero richiesto. Verifica questa condizione con:
kubectl get pods -n <APPS_NAMESPACE>
kubectl describe pod <PENDING_POD_NAME> -n <APPS_NAMESPACE>
kubectl get events -n <APPS_NAMESPACE> --sort-by=.lastTimestamp
Pianifica la capacità del cluster per i componenti di estensione, le repliche di picco delle applicazioni, i carichi di lavoro di sistema Kubernetes, gli aggiornamenti rolling e i guasti dei nodi.
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.
Come è possibile installare il driver SMB?
È possibile installare il driver SMB usando il comando Helm seguente. Per altri metodi di installazione, vedere Installare il driver in un cluster Kubernetes.
helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.18.0
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.
Posso distribuire l'estensione Container Apps su un cluster basato su Arm64?
No. L'estensione non supporta cluster basati su Arm64.
Contenuti correlati
- Configura un cluster Kubernetes abilitato per Azure Arc per eseguire App contenitore di Azure
- Creare un'app contenitore in Azure Arc
- Risolvere i problemi di App contenitore di Azure in Kubernetes abilitato per Azure Arc
- Panoramica su Kubernetes con Azure Arc
- Percorsi personalizzati su Kubernetes con abilitazione ad Azure Arc
- Estensioni del cluster su Kubernetes abilitato per Azure Arc
-
az containerapp arcRiferimento CLI - Note di rilascio dell'estensione di Azure App Container