Migrer la version groupée d'Istio vers Cloud Service Mesh

Ces étapes sont spécifiques à la version groupée d'Istio incluse par défaut avec le "module complémentaire GKE" Knative serving.

Étant donné que la version groupée d'Istio est désinstallée lors du processus de désinstallation du module complémentaire GKE Knative serving, les étapes décrites sur cette page permettent d'installer Cloud Service Mesh sur votre cluster et de configurer votre passerelle d'entrée.

Avant de commencer

Présentation

En général, le processus d'installation de Cloud Service Mesh lors de la migration depuis la version groupée d'Istio est identique à l'exécution d'une installation correcte de Cloud Service Mesh. Dans ce processus, la version 1.18 de Cloud Service Mesh est installée avec le plan de contrôle au sein du cluster.

Installer Cloud Service Mesh version 1.18

Pour installer Cloud Service Mesh, consultez la documentation d'installation de Cloud Service Mesh.

Avant de commencer :

  • Pour la migration, la passerelle d'entrée doit être installée séparément lors des étapes de configuration suivantes. Le script d'installation n'installe pas la passerelle d'entrée par défaut.

  • Facultatif : Si vous utilisez l'autorité de certification Cloud Service Mesh (Mesh CA), vous devez également inclure l'option --ca mesh_ca au script d'installation de Cloud Service Mesh.

Pour installer Cloud Service Mesh, procédez comme suit :

Suivez les étapes de la documentation Cloud Service Mesh : Installer Cloud Service Mesh version 1.18.

Exemple

Voici un exemple de commande par défaut qui inclut l'option requise :

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

Configurer l'entrée Cloud Service Mesh

Dans cette section, le script de migration permet de créer la passerelle d'entrée Cloud Service Mesh dans l'espace de noms gke-system.

Pour la migration, l'espace de noms gke-system est utilisé de manière à ce que la passerelle d'entrée soit placée dans le même espace de noms que celui utilisé par la "version groupée d'Istio" récemment supprimée. Par conséquent, les pods d'entrée de Cloud Service Mesh peuvent reprendre le trafic de manière fluide, sans aucune modification de configuration requise sur le service d'entrée. Par exemple, vous n'avez pas besoin de configurer une nouvelle adresse IP externe.

  1. Pour créer la passerelle d'entrée dans l'espace de noms gke-system, exécutez la commande suivante pour démarrer le script de migration :

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

    La sortie du terminal se présente comme suit :

    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. Vérifiez que la passerelle d'entrée istio-ingrerssgateway s'exécute dans l'espace de noms gke-system en exécutant la commande suivante :

    kubectl get deployment istio-ingressgateway -n gke-system
    

    Notez que le nombre de pods istio-ingressgateway est intentionnellement 0. Après avoir installé le composant de parc Knative Serving, il existe une étape ultérieure pour migrer l'intégralité du trafic vers l'entrée de Cloud Service Mesh.

Étape suivante

Installer le composant de parc

Rollback

Si vous devez effectuer un rollback des modifications que vous avez apportées en suivant les étapes ci-dessus, vous pouvez utiliser le script de migration pour :

  • Supprimer la passerelle d'entrée de Cloud Service Mesh.
  • Désinstaller Cloud Service Mesh.

Pour effectuer un rollback de la configuration et de l'installation de Cloud Service Mesh, procédez comme suit :

  1. Exécutez la commande suivante pour démarrer le rollback.

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

    La sortie du terminal se présente comme suit :

    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. Pour vérifier que la passerelle d'entrée Cloud Service Mesh a été supprimée, vérifiez que le service istio-ingressgateway n'existe plus dans l'espace de noms gke-system :

    kubectl get deployment istio-ingressgateway -n gke-system
    
  3. Désinstaller Cloud Service Mesh

  4. Pour retrouver l'état d'origine de vos installations, effectuez un rollback du "module complémentaire GKE" Knative Serving.