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.
Si applica a: ✔️ Servizio Azure Kubernetes Automatico
Usare le distribuzioni automatizzate per compilare e distribuire un'applicazione da un repository di codice in un cluster del servizio Azure Kubernetes Automatico nuovo o esistente. Le distribuzioni automatizzate semplificano il processo di configurazione di un flusso di lavoro GitHub Action per compilare e distribuire il codice. Dopo la connessione, ogni nuovo commit eseguito avvia la pipeline. Le distribuzioni automatizzate si basano su draft.sh. Quando si crea un nuovo flusso di lavoro di distribuzione, è possibile usare un Dockerfile esistente, generare un Dockerfile, usare manifesti Kubernetes esistenti o generare manifesti Kubernetes. I manifesti generati vengono creati tenendo presenti le procedure consigliate per la sicurezza e la resilienza. Il servizio AKS Automatic include anche un [SLA per la prontezza dei pod] che garantisce il 99,9% delle operazioni di prontezza dei pod qualificate completate entro 5 minuti, garantendo un'infrastruttura affidabile e auto-riparante per le applicazioni.
Con questa guida introduttiva, si potrà:
- Connettersi a un repository di codice.
- Distribuire l'applicazione in un contenitore.
- Configurare i manifesti Kubernetes.
- Creare un cluster del Servizio Azure Kubernetes Automatico.
- Distribuire l'applicazione tramite una richiesta pull.
Prima di iniziare
- Disporre di un account GitHub con l'applicazione da distribuire.
- Il servizio AKS Automatic abiliterà Criteri di Azure sul cluster AKS, ma dovresti preregistrare il provider delle risorse
Microsoft.PolicyInsightsnella sottoscrizione per un'esperienza più fluida. Per ulteriori informazioni, vedere provider e tipi di risorse di Azure.
Importante
A partire da AKS 1.36, i nuovi cluster AKS Automatic abiliteranno per impostazione predefinita Kubernetes Gateway API tramite il componente aggiuntivo per il routing dell'applicazione anziché l'ingresso NGINX gestito con il componente aggiuntivo per il routing dell'applicazione, a causa del ritiro upstream di Ingress NGINX.
I cluster automatici esistenti non sono interessati, ma devono iniziare la migrazione all'API del gateway Kubernetes tramite il componente aggiuntivo di routing dell'applicazione.
Limitazioni
Le seguenti limitazioni si applicano ai cluster automatici di AKS:
- AKS Automatic è generalmente disponibile nelle seguenti regioni:
australiaeast,austriaeast,belgiumcentral,brazilsouth,canadacentral,centralindia,centralus,chilecentral,denmarkeast,eastasia,eastus,eastus2,francecentral,germanywestcentral,indonesiacentral,israelcentral,italynorth,japaneast,japanwest,koreacentral,malaysiawest,mexicocentral,newzealandnorth,northeurope,norwayeast,polandcentral,southafricanorth,southcentralus,southeastasia,spaincentral,swedencentral,switzerlandnorth,uaenorth,uksouth,westeurope,westus2,westus3.- Per impostazione predefinita, i nuovi cluster automatici di AKS abilitano i pool di nodi di sistema gestiti e LocalDNS. Non è possibile creare cluster automatici di AKS senza pool di nodi di sistema gestiti in nessuna regione.
- Il cluster Automatico di AKS ha il blocco del gruppo di risorse del nodo preconfigurato, che non consente modifiche al gruppo di risorse
MC_, impedendo i collegamenti alla rete virtuale nella zona DNS privato predefinita. Per scenari DNS tra reti virtuali (VNet) o DNS personalizzati, utilizzare una rete personalizzata e un DNS privato seguendo Crea un cluster privato di Servizio Azure Kubernetes (AKS) automatico in una rete virtuale personalizzata. - interfaccia della riga di comando di Azure è necessaria la versione 2.86.0 o successiva. Per trovare la versione, eseguire
az --versionil comando . Se è necessario installare o aggiornare, vedere Installare interfaccia della riga di comando di Azure. - Le estensioni seguenti non sono supportate:
- I nodi Di Windows non sono supportati.
- Il componente aggiuntivo basato su Istio per il service mesh di AKS (Azure Kubernetes Service) non è supportato.
- La migrazione tra lo SKU Base di AKS e lo SKU Automatico non è supportata.
- Le migrazioni tra cluster automatici del servizio Azure Kubernetes senza pool di nodi di sistema gestiti e cluster automatici del servizio Azure Kubernetes con pool di nodi di sistema gestiti non sono supportate.
- La configurazione dello scraping personalizzato delle metriche e dellaraccolta di log di Prometheus non è supportata.
- L'abilitazione dell'osservabilità ACNS durante la creazione automatica del cluster non è supportata. È possibile abilitare l'osservabilità ACNS dopo la creazione del cluster.
Aggiungere il codice sorgente dell'applicazione
Per distribuire un'applicazione da un repository di codice, iniziare dalla home page Azure portale.
- Cercare i servizi Kubernetes nella barra di ricerca superiore.
- Selezionare Kubernetes services nei risultati della ricerca.
- Selezionare il pulsante Crea e selezionare Distribuisci applicazione.
Connettersi al repository del codice sorgente
Creare e automatizzare il flusso di lavoro di distribuzione e autorizzarlo a connettersi al repository del codice sorgente desiderato.
- Nella scheda Informazioni di base selezionare Distribuire l'applicazione.
- In Project details scegliere il Subscription, Resource Group e Region.
- In Repository details immettere un nome per il flusso di lavoro, quindi selezionare Authorize access per connettersi al repository di GitHub desiderato.
- Scegliere Repository e Ramo.
- Selezionare il pulsante Avanti.
Scegliere la configurazione dell'immagine del contenitore
Per preparare un'applicazione per Kubernetes, è necessario compilarla in un'immagine del contenitore e archiviata in un registro contenitori. Si usa un Dockerfile per fornire istruzioni su come compilare l'immagine del contenitore. Se il repository del codice sorgente non ha già un Dockerfile, le distribuzioni automatizzate possono generarne una automaticamente. In caso contrario, è possibile usare un Dockerfile esistente.
Usare le distribuzioni automatiche per generare un Dockerfile per molti linguaggi e framework, ad esempio Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift e Rust. Il supporto linguistico è basato su ciò che è disponibile in draft.sh.
- Selezionare Distribuisci automaticamente in un contenitore (genera Dockerfile) per la configurazione del contenitore.
- Selezionare il percorso in cui salvare il Dockerfile generato nel repository.
- Scegliere l'ambiente dell'applicazione nell'elenco di linguaggi e framework supportati.
- Immettere la porta dell'applicazione.
- Selezionare un
Registro Azure Container o crearne uno nuovo. Questo registro viene usato per archiviare l'immagine dell'applicazione compilata. All'identità kubelet del cluster del servizio Azure Kubernetes Automatico sono concesse leAcrPullautorizzazioni per tale registro.
Scegliere la configurazione del manifesto Kubernetes
Un'applicazione in esecuzione in Kubernetes è costituita da molti componenti primitivi Kubernetes. Questi componenti descrivono l'immagine del contenitore da usare, il numero di repliche da eseguire, se è necessario un indirizzo IP pubblico per esporre l'applicazione e così via. Per altre informazioni, vedere la documentazione ufficiale di Kubernetes. Se il repository del codice sorgente non dispone già dei manifesti Kubernetes di base da distribuire, le distribuzioni automatizzate possono generarle automaticamente. In caso contrario, è possibile usare un set di manifesti esistenti. È anche possibile scegliere un grafico Helm esistente.
Usare le distribuzioni automatiche per generare un set di file manifesto Kubernetes di base per rendere operativa l'applicazione. Al momento, le distribuzioni automatizzate creano un oggetto Deployment, Service e ConfigMap.
I manifesti generati sono progettati per applicare raccomandazioni sulle misure di sicurezza della distribuzione, ad esempio:
- Generazione automatica di probe di attività, idoneità e avvio.
- Preferenza per anti-affinità pod e vincoli di estensione topologia che estendono le repliche su nodi diversi per migliorare la resilienza.
- Applicazione del
RuntimeDefaultprofilo di elaborazione sicuro che stabilisce un ulteriore livello di protezione dalle vulnerabilità comuni delle chiamate di sistema utilizzate dai malintenzionati. - Eliminazione di tutte le funzionalità di Linux e autorizzazione di solo di un set limitato in base agli Standard di sicurezza dei pod Kubernetes di base.
Per generare manifesti Kubernetes:
- Selezionare Genera file di distribuzione dell'applicazione per le opzioni di distribuzione.
- Immettere la porta dell'applicazione. Questa porta viene usata nell'elemento
Servicegenerato. - Selezionare il percorso in cui salvare i manifesti Kubernetes generati nel repository.
- Selezionare il pulsante Avanti.
Selezionare la posizione in cui si vuole distribuire l'applicazione
- Creare un nuovo cluster del Servizio Azure Kubernetes Automatico
- Cluster del servizio Azure Kubernetes
Se non si ha già un cluster, è possibile creare un nuovo cluster del servizio Azure Kubernetes Automatico come parte di questa distribuzione.
- Selezionare Crea cluster Kubernetes automatico per la configurazione del cluster.
- Immettere un valore in Nome cluster.
- Scegliere il programma di manutenzione degli aggiornamenti automatici o lasciare selezionata l'impostazione predefinita.
- Immettere lo spazio dei nomi Kubernetes in cui viene distribuita l'applicazione.
- Scegliere il livello di monitoraggio e registrazione o lasciare selezionata l'impostazione predefinita.
- Selezionare il pulsante Avanti.
Esaminare la configurazione e la distribuzione
Esaminare la configurazione per il cluster, l'applicazione e i manifesti Kubernetes, quindi selezionare Distribuisci. La creazione di un cluster richiede alcuni minuti, non uscire dalla pagina di distribuzione.
- Viene creato un nuovo cluster del servizio Azure Kubernetes Automatico o ne è stato configurato uno esistente.
- Viene creato un registro contenitori o ne è configurato uno esistente con il cluster.
- Le credenziali federate vengono create per consentire al flusso di lavoro GitHub Azione di distribuire nel cluster.
- Viene creata una richiesta pull nel repository di codice con tutti i file generati e il flusso di lavoro.
Esaminare e unire una richiesta pull
Quando la distribuzione ha esito positivo, selezionare il pulsante Visualizza richiesta pull per visualizzare i dettagli della richiesta pull generata nel repository di codice.
- Esaminare le modifiche in File modificati e apportare le modifiche desiderate.
- Selezionare Unisci richiesta pull per unire le modifiche nel repository di codice.
L'unione della modifica innesca il flusso di lavoro GitHub Actions che crea l'immagine del contenitore della tua applicazione, la archivia in Registro Azure Container e la distribuisce nel cluster.
Controllare le risorse distribuite
Al termine della pipeline, è possibile esaminare il Kubernetes Service creato nel portale di Azure selezionando Servizi e ingresses nel menu del servizio risorse di Kubernetes.
Se si seleziona l'Indirizzo IP esterno, sarà visualizzata una nuova pagina del browser con l'applicazione in esecuzione.
Eliminare risorse
Al termine dell'operazione con il cluster, è possibile eliminarlo per evitare di incorrere in addebiti Azure.
- Nel portale di Azure passare al gruppo di risorse.
- Selezionare Elimina gruppo di risorse.
- Immettere il nome del gruppo di risorse per confermare l'eliminazione e selezionare Elimina.
- Nella finestra di dialogo conferma eliminazione selezionare Elimina.
Passaggi successivi
In questa guida introduttiva è stata distribuita un'applicazione in un cluster Kubernetes usando il servizio Azure Kubernetes Automatico e si è configurata una pipeline di integrazione continua/distribuzione continua (CI/CD) da un repository di codice.
Per ulteriori informazioni sul servizio Azure Kubernetes automatico, continuare con l'introduzione.