Preparazione alla migrazione da Istio

La migrazione da Istio ad Anthos Service Mesh richiede un po' di pianificazione. Questa pagina fornisce informazioni utili per prepararti alla migrazione.

Esame dei profili

I profili di configurazione forniti da Anthos Service Mesh sono diversi da Istio open source. Quando installi Anthos Service Mesh, utilizzi un profilo di configurazione adatto al tuo ambiente:

  • asm-gcp: utilizza questo profilo per le installazioni su GKE per una rete mesh contenente un cluster singolo o più cluster nello stesso progetto Google Cloud.

  • asm-gcp-multiproject beta: utilizza questo profilo per le installazioni su GKE con cluster in progetti Google Cloud diversi.

  • asm-multicloud: utilizza questo profilo per le installazioni nei seguenti ambienti:

    • GKE su VMware
    • GKE su AWS
    • Amazon Elastic Kubernetes Service (Amazon EKS)
    • Servizio Microsoft Azure Kubernetes (Microsoft AKS)

Le funzionalità di Anthos Service Mesh supportate variano a seconda del profilo. Esamina le Funzionalità supportate per il profilo adatto alla tua configurazione.

Confronta profili

Puoi confrontare il profilo di configurazione utilizzato per installare Istio con il profilo Anthos Service Mesh che prevedi di utilizzare:

  1. Segui i passaggi descritti in Download del file di installazione per scaricare i file di installazione e firma, estrarre i contenuti e impostare il percorso in modo da utilizzare la versione di istioctl dal file di download.

  2. Genera un manifest per il profilo Anthos Service Mesh che intendi utilizzare:

    istioctl manifest generate -f manifests/profiles/ASM_PROFLE > a.yaml
  3. Individua il profilo che hai utilizzato per installare Istio. Poiché i profili possono cambiare da una versione di Istio all'altra, è necessario il profilo del pacchetto di installazione corrispondente alla versione di Istio.

  4. Genera un manifest per il profilo che hai utilizzato per installare Istio:

    istioctl manifest generate -f ISTIO_PROFILE > b.yaml
  5. Confronta i manifest:

    istioctl manifest diff a.yaml b.yaml
    

Preparazione dei file di configurazione

Se hai personalizzato l'installazione di Istio, avrai bisogno delle stesse personalizzazioni richieste per la migrazione ad Anthos Service Mesh. Se hai personalizzato l'installazione aggiungendo il flag --set values, ti consigliamo di aggiungere queste impostazioni a un file di configurazione IstioOperator. Puoi specificare il file di configurazione utilizzando il flag -f con il file di configurazione quando esegui il comando istioctl install.

Scelta di un'autorità di certificazione

Puoi continuare a utilizzare Citadel (ora incorporata in istiod) come autorità di certificazione (CA) per emettere certificati mTLS (mutual TLS) oppure puoi scegliere di eseguire la migrazione all'autorità di certificazione Anthos Service Mesh (Mesh CA).

In genere consigliamo di utilizzare Mesh CA per i seguenti motivi:

  • Mesh CA è un servizio altamente affidabile e scalabile, ottimizzato per carichi di lavoro con scalabilità dinamica su Google Cloud.
  • Con Mesh CA, Google gestisce la sicurezza e la disponibilità del backend della CA.
  • Mesh CA consente di fare affidamento su un'unica radice di attendibilità tra i cluster.

Tuttavia, in alcuni casi potresti prendere in considerazione l'utilizzo di Citadel, ad esempio:

  • Se hai una CA personalizzata,
  • Non puoi pianificare il tempo di inattività per la migrazione a Mesh CA. Anche se consigliamo di utilizzare Mesh CA, devi pianificare il tempo di inattività per la migrazione perché il traffico mTLS non riesce finché non riavvii tutti i pod in tutti gli spazi dei nomi.

Esaminare il processo di migrazione

Per eseguire la migrazione da Istio, devi seguire il processo di upgrade del piano di controllo doppio (indicato come upgrade canary nella documentazione di Istio). Con l'upgrade di un piano di controllo doppio, puoi installare una nuova versione del piano di controllo insieme a quello esistente. Quando installi la nuova versione, includi un'etichetta revision che identifica la versione del nuovo piano di controllo. Ogni revisione è un'implementazione completa del piano di controllo Anthos Service Mesh con il proprio deployment e servizio.

Successivamente, potrai eseguire la migrazione alla nuova versione impostando la stessa etichetta revision sui tuoi carichi di lavoro in modo che puntino al nuovo piano di controllo ed eseguendo un riavvio in sequenza per reinserire i proxy con la nuova versione di Anthos Service Mesh. Con questo approccio, puoi monitorare l'effetto dell'upgrade su una piccola percentuale dei carichi di lavoro. Dopo aver testato l'applicazione, puoi eseguire la migrazione di tutto il traffico alla nuova versione. Questo approccio è molto più sicuro rispetto a un upgrade in loco in cui un nuovo piano di controllo sostituisce immediatamente la versione precedente del piano di controllo.

A meno che tu non abbia configurato un bilanciatore del carico o un router per i deployment blu/verde, ti consigliamo di testare la migrazione e il riavvio dei pod in un ambiente gestione temporanea per verificare che i servizi siano in grado di gestire qualsiasi potenziale interruzione del traffico.