Esegui la migrazione di Istio in bundle a Cloud Service Mesh

Questi passaggi sono specifici per la versione in bundle di Istio inclusa per impostazione predefinita nel "componente aggiuntivo GKE" di Knative serving.

Poiché la versione in bundle di Istio viene disinstallata quando hai eseguito la procedura di disinstallazione del "componente aggiuntivo GKE" di Knative serving, i passaggi in questa pagina installano Cloud Service Mesh sul tuo cluster e poi configurano il gateway di ingresso.

Prima di iniziare

Panoramica

In generale, la procedura per installare Cloud Service Mesh durante la migrazione dalla versione in bundle di Istio è la stessa procedura per eseguire un'installazione pulita di Cloud Service Mesh. In questo processo viene installata la versione 1.18 di Cloud Service Mesh con il piano di controllo in-cluster.

Installa Cloud Service Mesh versione 1.18

Utilizza la documentazione di installazione di Cloud Service Mesh per installare Cloud Service Mesh.

Prima di iniziare:

  • Per la migrazione, il gateway in entrata deve essere installato separatamente durante i passaggi di configurazione successivi. Lo script di installazione non installerà il gateway in entrata per impostazione predefinita.

  • (Facoltativo) Se utilizzi l'autorità di certificazione Cloud Service Mesh (Mesh CA), devi includere anche il flag --ca mesh_ca nello script di installazione di Cloud Service Mesh.

Per installare Cloud Service Mesh:

Segui i passaggi descritti nella documentazione di Cloud Service Mesh: Installa Cloud Service Mesh versione 1.18

Esempio

Di seguito è riportato un esempio del comando predefinito che include il flag obbligatorio:

./asmcli install \
  --project_id ${PROJECT_ID} \
  --cluster_name ${CLUSTER_NAME} \
  --cluster_location ${CLUSTER_LOCATION} \
  --ca mesh_ca \
  --output_dir DIR_PATH \
  --enable_all

Configura l'ingresso di Cloud Service Mesh

In questa sezione, lo script di migrazione viene utilizzato per creare il gateway di ingresso Cloud Service Mesh nello spazio dei nomi gke-system.

Per la migrazione, viene utilizzato lo spazio dei nomi gke-system in modo che il gateway di ingresso venga inserito nello stesso spazio dei nomi utilizzato da "Istio in bundle" rimosso di recente. Di conseguenza, i pod di ingresso di Cloud Service Mesh possono assumere il controllo del traffico senza alcuna modifica di configurazione richiesta al servizio di ingresso. Ad esempio, non è necessario configurare un nuovo indirizzo IP esterno.

  1. Per creare il gateway di ingresso all'interno del namespace gke-system, esegui il seguente comando per avviare lo script di migrazione:

    ./migration-addon.sh --command set-up-asm-ingress
    

    L'output del terminale durante il processo è simile al seguente:

    Setting up Cloud Service Mesh ingress. Note that the Cloud Service Mesh ingress is not
    serving traffic at this step.
    namespace/gke-system labeled
    deployment.apps/istio-ingressgateway created
    horizontalpodautoscaler.autoscaling/istio-ingressgateway created
    role.rbac.authorization.k8s.io/istio-ingressgateway-sds created
    rolebinding.rbac.authorization.k8s.io/istio-ingressgateway-sds created
    Cloud Service Mesh ingress is successfully installed.
    
  2. Verifica che il gateway di ingresso istio-ingrerssgateway sia in esecuzione nello spazio dei nomi gke-system eseguendo il seguente comando:

    kubectl get deployment istio-ingressgateway -n gke-system
    

    Tieni presente che il numero di pod istio-ingressgateway è intenzionalmente 0. Dopo aver installato il componente del parco risorse Knative serving, è necessario eseguire un passaggio successivo per eseguire la migrazione di tutto il traffico all'ingresso di Cloud Service Mesh.

Passaggi successivi

Installare il componente del parco risorse

Esegui il rollback

Se devi eseguire il rollback delle modifiche apportate nei passaggi precedenti, puoi utilizzare lo script di migrazione per:

  • Elimina il gateway di ingresso Cloud Service Mesh.
  • Disinstalla Cloud Service Mesh.

Per eseguire il rollback della configurazione e dell'installazione di Cloud Service Mesh:

  1. Esegui il seguente comando per avviare il rollback.

    ./migration-addon.sh --command rollback-set-up-asm-ingress
    

    L'output del terminale durante il processo è simile al seguente:

    Deleting Cloud Service Mesh ingress
    deployment.apps "istio-ingressgateway" deleted
    horizontalpodautoscaler.autoscaling "istio-ingressgateway" deleted
    role.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted
    rolebinding.rbac.authorization.k8s.io "istio-ingressgateway-sds" deleted
    Cloud Service Mesh ingress is successfully deleted.
    
  2. Per verificare che il gateway di ingresso Cloud Service Mesh sia stato rimosso, controlla che il servizio istio-ingressgateway non esista più nello spazio dei nomi gke-system:

    kubectl get deployment istio-ingressgateway -n gke-system
    
  3. Disinstallare Cloud Service Mesh

  4. Per continuare a eseguire il rollback di tutte le modifiche allo stato originale delle installazioni, esegui il rollback del "componente aggiuntivo GKE" Knative serving.