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.
Questo articolo descrive le strategie per eseguire la migrazione di workload tipici senza stato e con stato da Amazon Elastic Kubernetes Service (EKS) ad Azure Kubernetes Service (AKS).
Considerazioni
Il processo di distribuzione di un carico di lavoro di produzione reale varia a seconda dei fattori seguenti:
Strategie di distribuzione: I metodi GitOps rispetto ai tradizionali metodi di integrazione continua e distribuzione continua (CI/CD) di DevOps influenzano l'approccio alla distribuzione. GitOps assegna priorità all'infrastruttura dichiarativa gestita tramite repository a controllo di versione. DevOps CI/CD è incentrato sui flussi di lavoro automatizzati per la distribuzione di applicazioni.
Artefatti di distribuzione: Gli artefatti della distribuzione consentono di definire la struttura di distribuzione. I file YAML, i file manifesto, i grafici Helm e le configurazioni Kustomize offrono diversi approcci per specificare e personalizzare le impostazioni di distribuzione. Ogni approccio ha punti di forza unici che traggono vantaggio da casi d'uso specifici.
Autenticazione e autorizzazione del carico di lavoro: A seconda del programma di installazione, i metodi di autenticazione e autorizzazione differiscono. È possibile usare i ruoli di Gestione delle identità e degli accessi (IAM) di Amazon Web Services (AWS), i meccanismi di identità del carico di lavoro o le stringhe di connessione per il controllo di accesso.
Monitoraggio: Quando si implementano soluzioni di monitoraggio, è possibile usare vari strumenti e metodologie per garantire le prestazioni e l'integrità dei carichi di lavoro distribuiti. Per ulteriori informazioni su come il monitoraggio di AKS e EKS si confrontano, vedere Monitoraggio e registrazione di Kubernetes.
Prima della migrazione, esaminare e prendere in considerazione le indicazioni generali e le risorse consigliate seguenti:
Esaminare le procedure consigliate per gli sviluppatori e l'operatore del cluster.
Definire la strategia di monitoraggio e avviso per garantire che l'applicazione venga eseguita come previsto.
Definire i requisiti di sicurezza e conformità per l'applicazione e l'ambiente AKS.
Definire i criteri di controllo di accesso e come applicarli. Identificare gli standard di conformità a cui il carico di lavoro deve rispettare.
Definire il ripristino di emergenza e il piano di continuità aziendale per l'ambiente AKS e l'applicazione.
Definire i criteri e le procedure di backup e ripristino. Identificare l'obiettivo del tempo di ripristino (RTO) e l'obiettivo del punto di ripristino (RPO).
Identificare eventuali rischi o problemi che possono verificarsi durante la distribuzione.
Testare la funzionalità per assicurarsi che l'applicazione funzioni come previsto prima di reindirizzare il traffico in tempo reale al nuovo cluster del servizio Azure Kubernetes.
Considerazioni sulla migrazione del carico di lavoro
Considerare gli aspetti seguenti prima di eseguire la migrazione dei carichi di lavoro da Amazon EKS al servizio Azure Kubernetes.
Comprendi il tuo ambiente Amazon EKS esistente
Per analizzare l'ambiente EKS esistente per comprendere l'architettura, le risorse e le configurazioni correnti.
Esaminare la configurazione del servizio Azure Kubernetes: Valutare la configurazione del cluster EKS, ad esempio i tipi di nodo, il numero di nodi, la versione di Kubernetes e i criteri di supporto e la configurazione del ridimensionamento.
Annotazioni
Il servizio Azure Kubernetes consente la creazione di immagini AMI personalizzate per i nodi del servizio Azure Kubernetes. Il servizio Azure Kubernetes non consente l'uso di immagini di nodi personalizzate. Se la distribuzione richiede la personalizzazione dei nodi, è possibile applicare personalizzazioni kubelet e DaemonSet per personalizzare i nodi.
Esaminare i carichi di lavoro dell'applicazione: Identificare tutti i carichi di lavoro Kubernetes eseguiti nel cluster EKS, incluse distribuzioni, servizi, set con stato, configurazioni in ingresso e attestazioni di volume permanente. Creare un elenco completo di applicazioni e le relative risorse associate.
Controllare le dipendenze: Identificare eventuali dipendenze sui servizi AWS specifici per EKS.
Servizio AWS Dipendenza AWS Secrets Manager Azure Key Vault Agente Amazon GuardDuty Microsoft Defender for Containers Agente di identità pod per EKS ID attività Microsoft Entra Driver Amazon Elastic File System (EFS) o Elastic Block Store (EBS) Container Storage Interface (CSI) Driver CSI di AKS Eseguire il backup del cluster EKS: È possibile usare uno strumento non Microsoft come Velero per eseguire il backup e la migrazione delle risorse Kubernetes e dei volumi persistenti (PV).
Preparare l'ambiente di Azure AKS
Amazon Virtual Private Cloud (VPC) Container Networking Interface (CNI) è il plug-in di rete predefinito supportato da EKS. Un cluster del servizio Azure Kubernetes supporta i plug-in e i metodi di rete seguenti per distribuire un cluster in una rete virtuale:
- Kubenet networking (impostazione predefinita in AKS)
- Rete CNI di Azure
- Azure CNI Overlay
- Rete CNI di Azure per l'allocazione dinamica
- Azure CNI con integrazione di Cilium
- CNIs non Microsoft
Per preparare il cluster AKS, seguire questa procedura:
Creare un nuovo cluster del servizio Azure Kubernetes in Azure. Configurare le impostazioni di rete desiderate in base ai requisiti.
Esaminare i manifesti Kubernetes e i file YAML usati in EKS. Verificare la presenza di eventuali potenziali incompatibilità della versione dell'API Kubernetes o di configurazioni specifiche di EKS non supportate da AKS.
Assicurarsi che le immagini Docker e il registro delle immagini del contenitore siano accessibili dal cluster AKS. Verificare la connettività di rete e le eventuali impostazioni di autenticazione e autorizzazione necessarie per l'accesso alle immagini.
Seguire questi passaggi per creare con successo un cluster AKS e assicurare la compatibilità per i manifesti Kubernetes e le immagini Docker. Una compatibilità adeguata aiuta a garantire un processo di migrazione uniforme da Amazon Elastic Kubernetes (EKS) ad Azure Kubernetes Service (AKS).
Panoramica della migrazione
Una migrazione da Amazon EKS al servizio Azure Kubernetes prevede i passaggi seguenti:
Migrazione dell'immagine del contenitore: Usare strumenti come kubectl, Docker o registri contenitori per esportare e importare immagini.
- Esportare immagini da EKS.
- Configurare un registro di contenitori di Azure e collegarlo ad AKS, se necessario.
- Caricare le immagini nel registro dei contenitori.
È anche possibile importare immagini del contenitore in un registro contenitori direttamente da un repository pubblico o privato non-Azure. Per altre informazioni, vedere Importare immagini del contenitore.
Migrazione dei manifest Kubernetes: AKS utilizza il file manifesto YAML di Kubernetes per definire gli oggetti Kubernetes. Le distribuzioni vengono in genere create e gestite tramite
kubectl create
okubectl apply
. Per creare una distribuzione, definire un file manifesto in formato YAML. Per altre informazioni, vedere manifesto di esempio AKS.Migrazione dei dati: Pianificare attentamente la migrazione di applicazioni con stato per evitare perdite di dati o tempi di inattività imprevisti.
Considerazioni sulla migrazione di carichi di lavoro senza stato
Quando si esegue la migrazione dei manifesti Kubernetes, è necessario adattare la configurazione per funzionare nell'ambiente Azure.
Aggiornare i manifesti: Aggiornare i manifesti kubernetes per usare i nuovi percorsi delle immagini nel registro contenitori. Sostituire i riferimenti alle immagini nei file YAML con il percorso del registro contenitori.
Esaminare i file manifesto di Kubernetes esistenti per configurazioni specifiche di AWS, ad esempio i ruoli VPC e IAM.
Esaminare i ruoli IAM di EKS associati a nodi, account del servizio e altre risorse. Eseguire il mapping dei ruoli con ruoli di controllo degli accessi in base al ruolo (RBAC) del servizio Azure Kubernetes equivalenti. Per altre informazioni, vedere Identità e accesso del carico di lavoro Kubernetes.
Modificare i file manifesto per sostituire le impostazioni specifiche di AWS con le impostazioni specifiche di Azure, ad esempio le annotazioni.
Applicare manifesti al servizio Azure Kubernetes:
Applicare i file manifesto di Kubernetes modificati utilizzando
kubectl apply -f
.
Considerazioni sulla migrazione del carico di lavoro a stato
Se le vostre applicazioni utilizzano PVs o PVCs per l'archiviazione dei dati, assicuratevi di eseguire il backup dei loro dati. Usare strumenti come Velero per eseguire backup del cluster, inclusi i dati PV e PVC. Per altre informazioni, vedere Eseguire il backup e il ripristino delle risorse del cluster Amazon EKS usando Velero.
Le applicazioni con stato hanno in genere requisiti di archiviazione dei dati persistenti, che aggiungono complessità al processo di migrazione. Per un confronto tra le funzionalità di archiviazione di Amazon EKS e servizio Azure Kubernetes, vedere Opzioni di archiviazione per un cluster Kubernetes.
Per eseguire il backup dei dati persistenti, seguire questa procedura:
Eseguire un backup del cluster EKS.
Copiare il backup di Velero da un bucket S3 in Azure Blob Storage usando il comando AzCopy.
Se AKS ed EKS usano diversi
storageClassNames
per i PVC, crea unconfigMap
che traduce l'originestorageClassNames
in un nome di classe compatibile con AKS. Se si utilizza la stessa soluzione di archiviazione nei cluster Kubernetes EKS e AKS, ignorare questo passaggio.Ripristinare il backup su AKS usando il comando di ripristino Velero.
Applicare le modifiche necessarie agli oggetti ripristinati, ad esempio i riferimenti alle immagini del contenitore in Amazon Elastic Container Registry o l'accesso ai segreti.
Contributori
Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.
Autori principali:
- Dixit Arora | Senior Customer Engineer, ISV DN CoE
- Ketan Chawda | Senior Customer Engineer, ISV DN CoE
Altri collaboratori:
Paolo Salvatori | Ingegnere Principale per la Clientela, ISV & DN CoE- Anthony Nevico | Principal Cloud Solution Architect
- Francesco Simy Nazareth | Senior Technical Specialist
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Guida alla migrazione: Esempi di Azure
- Eseguire il backup e il ripristino di cluster di carichi di lavoro usando Velero in AKS ibrido
- Eseguire la migrazione ad AKS
" output is necessary.)
- AKS per i professionisti di Amazon EKS
- Gestione delle identità e degli accessi Kubernetes
- Monitoraggio e registrazione Kubernetes
- Accesso sicuro alla rete Kubernetes
- Opzioni di archiviazione per un cluster Kubernetes
- Gestione dei costi per Kubernetes
- Gestione del nodo e del pool di nodi Kubernetes
- Governance del cluster