Esegui la migrazione di Istio in bundle su Cloud Service Mesh

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

Poiché la versione in bundle di Istio è stata 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 cluster e quindi configura il gateway in entrata.

Prima di iniziare

Panoramica

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

Installa Cloud Service Mesh versione 1.18

Per installare Cloud Service Mesh, utilizza la documentazione per l'installazione di 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 (Mesh CA) di Cloud Service Mesh, devi includere anche il flag --ca mesh_ca con lo script di installazione di Cloud Service Mesh.

Per installare Cloud Service Mesh:

Segui i passaggi 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 richiesto:

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

Configura il traffico in entrata di Cloud Service Mesh

In questa sezione, lo script di migrazione viene utilizzato per creare il gateway in entrata di Cloud Service Mesh all'interno dello spazio dei nomi gke-system.

Per la migrazione, viene utilizzato lo spazio dei nomi gke-system in modo che il gateway in entrata venga posizionato all'interno dello stesso spazio dei nomi utilizzato dal "bundled Istio" rimosso di recente. Pertanto, i pod in entrata di Cloud Service Mesh possono acquisire facilmente il traffico senza alcuna modifica alla configurazione del servizio in entrata. Ad esempio, non è necessario configurare un nuovo indirizzo IP esterno.

  1. Per creare il gateway in entrata all'interno dello spazio dei nomi gke-system, esegui questo 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 in entrata istio-ingrerssgateway sia in esecuzione nello spazio dei nomi gke-system eseguendo questo 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, c'è un passaggio successivo per la migrazione di tutto il traffico al traffico in entrata di Cloud Service Mesh.

Passaggi successivi

Installa il componente del parco risorse

Esegui il rollback

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

  • Elimina il gateway in entrata di Cloud Service Mesh.
  • Disinstalla Cloud Service Mesh.

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

  1. Esegui questo 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 in entrata di 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. Disinstalla 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" di Knative serving.