Utilizza questa guida per eseguire la migrazione dell'installazione esistente di Knative serving su Google Cloud per utilizzare un parco risorse con Cloud Service Mesh.
La precedente versione "prova gratuita" di Knative serving, nota anche come "componente aggiuntivo GKE", include una versione integrata e ridotta di Istio 1.4 che non è più supportata a partire da Anthos 1.8.
L'upgrade dell'installazione di Knative serving per utilizzare i fleet e Cloud Service Mesh offre una migliore indipendenza nella gestione e nell'upgrade dei prodotti, nonché una migliore integrazione tra le funzionalità di GKE Enterprise. Scopri di più sulle novità e sulle modifiche.
Esistono due percorsi per la migrazione dell'installazione:
La procedura consigliata consiste nel migrare i carichi di lavoro dal cluster in cui è installata la versione precedente di Knative Serving ("componente aggiuntivo GKE") a un nuovo cluster in cui hai installato e configurato una nuova installazione del parco risorse di Knative Serving. Sebbene questo processo sia relativamente semplice e ideale, se i tuoi carichi di lavoro gestiscono il traffico, la migrazione a un cluster appena creato causerà tempi di inattività. Per eseguire questo percorso di migrazione, nel nuovo cluster:
- Installa Knative serving come componente del parco risorse.
Esegui il deployment dei servizi nella nuova installazione.
Ad esempio, puoi utilizzare le istruzioni per eseguire il deployment di una revisione di un servizio esistente per scaricare individualmente un file di configurazione YAML per ciascuno dei tuoi servizi e poi eseguire il deployment di ogni file YAML nel nuovo cluster nell'installazione della flotta di Knative Serving:
Nell'installazione precedente, puoi eseguire questo comando per scaricare un file di configurazione YAML, ad esempio
service.yaml
:gcloud run services describe SERVICE --format export > service.yaml
Sostituisci SERVICE con il nome del servizio Knative Serving.
Nella nuova installazione del componente del parco risorse, puoi quindi eseguire il seguente comando per eseguire il deployment dello stesso
service.yaml
:gcloud run deploy service.yaml --cluster CLUSTER_NAME --cluster-location CLUSTER_LOCATION --project PROJECT_ID
Sostituisci:
CLUSTER_NAME con il nome del cluster nella nuova installazione del componente del parco risorse di Knative serving.
CLUSTER_LOCATION con la zona o regione del cluster nella nuova installazione del componente del parco risorse di Knative serving.
PROJECT_ID con l'ID del tuo progetto Google Cloud in cui si trova la nuova installazione del componente del parco risorse di Knative Serving.
Alternativa: per gli utenti che non sono in grado di creare un nuovo cluster e devono eseguire la migrazione dell'installazione attiva di Knative serving, puoi seguire i passaggi descritti in questa guida per:
- Rimuovi le risorse "componente aggiuntivo GKE" e Istio precedenti.
- Installa nuove risorse del parco risorse.
- Esegui la migrazione a Cloud Service Mesh e poi migra il traffico.
- Elimina tutte le risorse obsolete e inutilizzate.
La seguente guida illustra la procedura alternativa di upgrade dell'installazione esistente e attiva di Knative Serving, inclusi tutti i carichi di lavoro, per soddisfare i requisiti di GKE Enterprise 1.8 e versioni successive.
Prima di iniziare
Questo processo di upgrade deve essere eseguito solo sui cluster Google Kubernetes Engine in cui è stato installato in precedenza Knative Serving come "componente aggiuntivo GKE".
Controlla se il "componente aggiuntivo GKE" è installato.
Per verificare se l'installazione di Knative Serving è "componente aggiuntivo GKE", esegui questo comando:
gcloud container clusters describe \ CLUSTER_NAME \ --region CLUSTER_LOCATION \ --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
Sostituisci:
- CLUSTER_NAME con il nome del cluster.
- CLUSTER_LOCATION con la posizione in cui si trova il tuo cluster.
- PROJECT_ID: l'ID del tuo progetto Google Cloud .
Risultati:
- "Componente aggiuntivo GKE" non installato:
- Se il componente aggiuntivo non è mai stato installato, non viene restituito nulla al terminale.
disabled=true
viene restituito se il componente aggiuntivo è stato disinstallato in precedenza.
- "Componente aggiuntivo GKE" è installato: se il componente aggiuntivo è installato nel tuo cluster, vengono restituiti i dettagli di configurazione del componente aggiuntivo.
Esempio:
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
- Esempio:
-
Il seguente esempio mostra che Knative Serving è stato installato nel cluster
my-addon-cluster
tramite il "componente aggiuntivo GKE", che è configurato per gestire il traffico esterno:gcloud container clusters describe my-addon-cluster \ --region us-central1-c --project my-gcp-project \ --format='get(addonsConfig.cloudRunConfig)'
Risposta:
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
Devi disporre di autorizzazioni adeguate nel tuo progetto Google Cloud per soddisfare i requisiti per il cluster, il parco risorse e Cloud Service Mesh:
Se disponi del ruolo Proprietario per il progetto Google Cloud , hai più autorizzazioni di quelle necessarie per creare cluster, installare e configurare Knative Serving.
Tieni presente che i requisiti di autorizzazione di Cloud Service Mesh soddisfano anche tutti i requisiti di autorizzazione per l'installazione e la configurazione di Knative Serving.
Utilizzo di altri ruoli e requisiti minimi:
A seconda della tua organizzazione, puoi anche soddisfare i requisiti di autorizzazione tramite una combinazione dei seguenti ruoli predefiniti:
Google Cloud autorizzazioni del progetto: ruolo Editor base
Autorizzazioni del parco risorse: GKE Hub Admin o un ruolo che include le seguenti autorizzazioni:
gkehub.features.create
gkehub.features.update
Autorizzazioni cluster: Un ruolo di amministratore Kubernetes Engine:
- Kubernetes Engine Admin
- Kubernetes Engine Cluster Admin
È supportata solo la versione 1.18 di Cloud Service Mesh.
Cloud Service Mesh richiede che il cluster utilizzi un tipo di macchina con almeno 4 vCPU, ad esempio
e2-standard-4
. Per informazioni dettagliate sui requisiti, consulta la guida all'installazione di Cloud Service Mesh. Se devi modificare il tipo di macchina del cluster esistente, consulta Migrazione dei carichi di lavoro su tipi di macchine diversi.L'utilizzo di Cloud Shell è l'ambiente consigliato per l'esecuzione dei comandi e dello script di migrazione durante questo processo. Tieni presente che lo script di installazione di Cloud Service Mesh supporta solo Linux o Cloud Shell.
Se l'installazione esistente di Knative serving utilizza il componente aggiuntivo Istio su GKE, devi eseguire la migrazione al piano di controllo gestito di Cloud Service Mesh. La migrazione dal componente aggiuntivo Istio su GKE al control plane in-cluster di Cloud Service Mesh non è attualmente supportata.
Eseguire l'upgrade di Knative serving e migrare i carichi di lavoro
Per facilitare l'upgrade dell'installazione esistente di Knative serving e la migrazione dei carichi di lavoro, esegui uno script che automatizza la maggior parte dei passaggi e ti chiede di inserire input durante la procedura.