Pianificazione di un upgrade

Questa pagina fornisce informazioni per aiutarti a pianificare un upgrade di Anthos Service Mesh. Ti consigliamo di esaminare anche le note sull'upgrade di Istio.

Informazioni sugli upgrade canary

Ti consigliamo di eseguire l'upgrade di Anthos Service Mesh eseguendo prima un deployment canary del nuovo piano di controllo. Con un upgrade canary, asmcli installa una nuova revisione del piano di controllo insieme al vecchio piano di controllo. Sia il vecchio che il nuovo piano di controllo sono etichettati con un'etichetta revision, che funge da identificatore per i piani di controllo.

Per eseguire la migrazione dei carichi di lavoro nel nuovo piano di controllo:

  1. Imposta l'etichetta revision del nuovo piano di controllo su uno dei tuoi spazi dei nomi.

  2. Esegui un riavvio graduale. Il riavvio reinserisce i proxy sidecar nei pod in modo che i proxy utilizzino il nuovo piano di controllo.

  3. Monitora l'effetto dell'upgrade sui carichi di lavoro. Se necessario per testare l'applicazione, ripeti i passaggi precedenti.

  4. Dopo aver testato l'applicazione, puoi eseguire la migrazione di tutto il traffico al nuovo piano di controllo o del rollback al vecchio piano di controllo.

Un upgrade con versione canary è molto più sicuro rispetto a un upgrade in loco, in cui il nuovo piano di controllo sostituisce il vecchio piano di controllo. Per la procedura dettagliata, consulta Passare al nuovo piano di controllo.

Personalizzare il piano di controllo

Se hai personalizzato l'installazione precedente, hai bisogno delle stesse personalizzazioni quando esegui l'upgrade di Anthos Service Mesh. Se hai personalizzato l'installazione aggiungendo il flag --set values a istioctl install, devi aggiungere queste impostazioni a un file YAML IstioOperator, denominato file di overlay. Devi specificare il file in overlay utilizzando l'opzione --custom_overlay con il nome del file quando esegui asmcli.

Il pacchetto anthos-service-mesh in GitHub contiene molti file di overlay. Questi file contengono personalizzazioni comuni alla configurazione predefinita. Puoi utilizzare questi file così come sono oppure apportare ulteriori modifiche secondo necessità. Alcuni file sono necessari per attivare le funzionalità facoltative di Anthos Service Mesh. Il pacchetto anthos-service-mesh viene scaricato quando esegui asmcli per convalidare il tuo progetto e il tuo cluster.

Quando installi Anthos Service Mesh utilizzando asmcli install, puoi specificare uno o più file di overlay con --option o --custom_overlay. Se non hai bisogno di apportare modifiche ai file nel repository anthos-service-mesh, puoi utilizzare --option e lo script recupera il file da GitHub per te. In caso contrario, puoi apportare modifiche al file overlay e poi utilizzare l'opzione --custom_overlay per trasmetterlo a asmcli.

Scegli un'autorità di certificazione

Se la tua attuale installazione di Anthos Service Mesh utilizza l'autorità di certificazione Anthos Service Mesh (Mesh CA) come autorità di certificazione (CA) per l'emissione di certificati TLS TLS (mTLS), ti consigliamo di continuare a utilizzare CA di Mesh per i seguenti motivi:

  • Mesh CA è un servizio estremamente affidabile e scalabile, ottimizzato per carichi di lavoro scalati dinamicamente su Google Cloud.
  • Con Mesh CA, Google gestisce la sicurezza e la disponibilità del backend dell'autorità di certificazione.
  • Mesh CA consente di fare affidamento su una singola radice di attendibilità tra i cluster.

Se la tua attuale installazione di Anthos Service Mesh utilizza Istio CA (precedentemente nota come "Citadel"), puoi passare a Mesh CA quando esegui l'upgrade, ma devi pianificare il tempo di inattività. Durante l'upgrade, il traffico mTLS viene interrotto fino al passaggio di tutti i carichi di lavoro all'utilizzo del nuovo piano di controllo con Mesh CA.

I certificati di Mesh CA includono i seguenti dati sui servizi dell'applicazione:

  • L'ID progetto Google Cloud
  • Lo spazio dei nomi GKE
  • Il nome dell'account di servizio GKE

Identificazione della CA

Quando esegui asmcli install per eseguire l'upgrade, specifichi la CA che asmcli deve attivare sul nuovo piano di controllo.

La modifica delle CA causa tempi di inattività quando i deployment dei carichi di lavoro vengono eseguiti sul nuovo piano di controllo. Se non puoi pianificare il tempo di riposo, assicurati di specificare la stessa CA per il nuovo piano di controllo utilizzato dal vecchio piano di controllo. Se non sai quale CA è abilitata sul tuo mesh, esegui questi comandi:

  1. Recupera un elenco di pod da uno dei tuoi spazi dei nomi:

    kubectl get pods -n NAMESPACE
    
  2. Sostituisci POD_NAME con il nome di uno dei tuoi pod nel comando seguente:

    kubectl get pod POD_NAME -n NAMESPACE -o yaml | grep CA_ADDR -A 1
    

    Se Mesh CA è abilitata nello spazio dei nomi, vedrai il seguente output:

    - name: CA_ADDR
      value: meshca.googleapis.com:443
    

Prepara la configurazione del gateway

Anthos Service Mesh ti offre la possibilità di eseguire il deployment e la gestione dei gateway come parte del tuo mesh di servizi. Un gateway descrive un bilanciatore del carico che opera sul perimetro della rete che riceve connessioni HTTP/TCP in entrata o in uscita. I gateway sono proxy Envoy che ti forniscono un controllo granulare sul traffico in entrata e in uscita dal mesh.

asmcli non installa istio-ingressgateway. Ti consigliamo di eseguire il deployment e gestire separatamente il piano di controllo e i gateway. Per saperne di più, consulta Installare ed eseguire l'upgrade dei gateway.

(Facoltativo) Eseguire l'upgrade della piattaforma

Come best practice, devi eseguire l'upgrade di Anthos Service Mesh all'ultima versione supportata che supporti anche la tua piattaforma attuale. Quindi, esegui l'upgrade del tuo ambiente in modo che rientri nell'intervallo delle piattaforme supportate e delle versioni di Kubernetes. Infine, se necessario, esegui l'upgrade all'ultima versione supportata di Anthos Service Mesh.

Quali sono i passaggi successivi?