Migrer l'offre Istio groupée vers Cloud Service Mesh

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

Étant donné que la version groupée d'Istio est désinstallée lors de l'exécution de désinstallation du "module complémentaire GKE" de Knative serving, suivez les étapes décrites sur cette page pour installer Cloud Service Mesh sur votre cluster, puis configure 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 d'Istio, est le même processus que l'exécution d'une opération Installation de Cloud Service Mesh Dans ce processus, la version de Cloud Service Mesh 1.18 est installé avec le Plan de contrôle dans le cluster.

Installer Cloud Service Mesh version 1.18

Vous allez utiliser la documentation d'installation de Cloud Service Mesh pour installer 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. La 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 inclure également l'option --ca mesh_ca dans l'installation de Cloud Service Mesh. script.

Pour installer Cloud Service Mesh:

Suivez la procédure décrite dans 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 une entrée Cloud Service Mesh

Dans cette section, le script de migration est utilisé pour 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 Cloud Service Mesh peuvent sans qu'il soit nécessaire de modifier la configuration du trafic d'entrée Google Cloud. 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 défini sur 0. Après l'installation du composant de parc Knative serving, une autre opération pas à migrer tout le trafic vers l'entrée Cloud Service Mesh.

Étape suivante

Installer le composant du parc

Rollback

Si vous devez effectuer un rollback des modifications que vous avez apportées aux étapes précédentes, Vous pouvez utiliser le script de migration pour:

  • Supprimez la passerelle d'entrée Cloud Service Mesh.
  • Désinstallez Cloud Service Mesh.

Pour effectuer un rollback de la configuration et de l'installation de Cloud Service Mesh:

  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 bien été supprimée, vérifiez que la Le service istio-ingressgateway n'existe plus dans le gke-system espace de noms:

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

  4. Pour continuer à effectuer un rollback de toutes les modifications apportées à l'état d'origine de votre installation, Annulez le "module complémentaire GKE" de Knative serving.