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 descritti in questa pagina installano Cloud Service Mesh sul cluster e poi configurano il gateway in entrata.

Prima di iniziare

Panoramica

In generale, la procedura per installare Cloud Service Mesh durante la migrazione dalla versione in bundle di Istio è la stessa di una nuova installazione di Cloud Service Mesh. In questo processo viene installata la versione 1.18 di Cloud Service Mesh con il control plane in-cluster.

Installa Cloud Service Mesh versione 1.18

Per installare Cloud Service Mesh, utilizza la documentazione relativa all'installazione di Cloud Service Mesh.

Prima di iniziare:

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

  • (Facoltativo) Se utilizzi l'autorità di certificazione (CA) 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 descritti nella documentazione di Cloud Service Mesh: Installare 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 all'interno dello spazio dei nomi gke-system.

Per la migrazione, viene utilizzato lo spazio dei nomi gke-system in modo che il gateway ingress si trovi nello stesso spazio dei nomi utilizzato da "Istio in bundle" rimosso di recente. Pertanto, i pod di ingresso di Cloud Service Mesh possono acquisire senza problemi il traffico senza modifiche alla configurazione richieste al servizio di ingresso. Ad esempio, non è necessario configurare un nuovo indirizzo IP esterno.

  1. Per creare il gateway in entrata nello 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, è necessario eseguire la migrazione di tutto il traffico all'ingresso 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 in entrata 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 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.