Utilizza questa guida per eseguire la migrazione dell'installazione esistente di Knative Serving su Google Cloud per utilizzare un parco con Cloud Service Mesh.
La precedente versione di "prova gratuita" di Knative serving, indicata anche come "componente aggiuntivo GKE", include una versione integrata e semplificata di Istio 1.4 che non è più supportata a partire da Anthos 1.8.
L'upgrade dell'installazione di Knative serving per l'utilizzo di parchi risorse e Cloud Service Mesh offre un'indipendenza migliorata per l'upgrade e la gestione dei prodotti, nonché un'integrazione migliorata delle funzionalità di GKE Enterprise. Scopri di più sulle novità e sulle modifiche.
Esistono due percorsi per eseguire la migrazione dell'installazione:
La procedura consigliata è eseguire la migrazione dei 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 questa procedura sia relativamente semplice e ideale, se i tuoi workload gestiscono il traffico, la migrazione a un cluster appena creato causerà un tempo di riposo. 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 il deployment di una revisione di un servizio esistente per scaricare singolarmente un file di configurazione YAML per ciascuno dei tuoi servizi e poi eseguire il deployment di ogni file YAML nel nuovo cluster nell'installazione del fleet di Knative Serving:
Nell'installazione precedente, puoi eseguire il seguente 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 di gestione Knative.
Nell'installazione del nuovo componente del parco risorse, puoi 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 la 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 risiede la nuova installazione del componente del parco di Knative Serving.
Alternativa: gli utenti che non sono in grado di creare un nuovo cluster e devono eseguire la migrazione della propria installazione attiva di Knative serving possono seguire i passaggi descritti in questa guida per:
- Rimuovi le risorse Istio e "Componente aggiuntivo GKE" 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 guida riportata di seguito illustra la procedura alternativa per eseguire l'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
Questa procedura di upgrade deve essere eseguita solo sui cluster Google Kubernetes Engine che hanno installato in precedenza Knative come "componente aggiuntivo GKE".
Controlla se il "componente aggiuntivo GKE" è installato.
Per verificare se la tua installazione di Knative Serving è il "componente aggiuntivo GKE", esegui il seguente 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 con 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.
- Il"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:
-
L'esempio seguente dimostra che il servizio Knative è 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 delle 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 , disponi di più autorizzazioni necessarie per creare cluster, installare e configurare Knative Serving.
Tieni presente che i requisiti delle autorizzazioni di Cloud Service Mesh soddisfano anche tutti i requisiti delle autorizzazioni per l'installazione e la configurazione del servizio Knative.
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:
Autorizzazioni del progettoGoogle Cloud : Ruolo di editor di base
Autorizzazioni di Fleet: Amministratore hub GKE o un ruolo che includa le seguenti autorizzazioni:
gkehub.features.create
gkehub.features.update
Autorizzazioni del 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 tuo cluster esistente, consulta Migrazione dei carichi di lavoro in tipi di macchine diversi.L'utilizzo di Cloud Shell è l'ambiente consigliato per eseguire i comandi e lo script di migrazione durante questa procedura. Tieni presente che lo script di installazione di Cloud Service Mesh supporta solo Linux o Cloud Shell.
Se la tua 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 la migrazione dei carichi di lavoro
Per eseguire 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.