Utilisez ce guide pour migrer votre installation existante de Knative serving sur Google Cloud afin d'utiliser un parc avec Cloud Service Mesh.
La précédente version d'essai gratuit de Knative serving, également appelée module complémentaire GKE, inclut une version intégrée et simplifiée d'Istio 1.4 qui n'est plus compatible à partir d'Anthos 1.8.
La mise à niveau de votre installation Knative serving pour utiliser des parcs et Cloud Service Mesh améliore l'indépendance en termes de mise à niveau et de gestion du produit, ainsi qu'une meilleure intégration aux fonctionnalités de GKE Enterprise. En savoir plus sur les nouveautés et les modifications
Deux options s'offrent à vous pour la migration de votre installation :
Le processus recommandé consiste à migrer vos charges de travail depuis le cluster sur lequel la version précédente de Knative serving est installée (module complémentaire GKE) vers un nouveau cluster dans lequel vous avez installé et configuré une nouvelle installation de Knative serving pour un parc. Bien que ce processus soit relativement simple et idéal, si vos charges de travail diffusent du trafic, la migration vers un nouveau cluster entraîne des temps d'arrêt. Pour effectuer ce processus de migration, procédez comme suit dans le nouveau cluster :
- Installez Knative serving en tant que composant de parc.
Déployez vos services sur la nouvelle installation.
Par exemple, vous pouvez suivre les instructions pour déployer une révision d'un service existant afin de télécharger individuellement un fichier de configuration YAML pour chacun de vos services, puis déployer chaque fichier YAML sur votre nouveau cluster dans l'installation du parc de Knative serving:
Dans l'ancienne installation, vous pouvez exécuter la commande suivante pour télécharger un fichier de configuration YAML, tel que
service.yaml
:gcloud run services describe SERVICE --format export > service.yaml
Remplacez SERVICE par le nom de votre service Knative serving.
Dans la nouvelle installation du composant de parc, vous pouvez ensuite exécuter la commande suivante pour déployer le même
service.yaml
:gcloud run deploy service.yaml --cluster CLUSTER_NAME --cluster-location CLUSTER_LOCATION --project PROJECT_ID
Remplacez :
CLUSTER_NAME par le nom du cluster de votre nouvelle installation de composants de parc de Knative serving.
CLUSTER_LOCATION par la zone ou la région du cluster dans votre nouvelle installation de composants de parc de Knative serving.
PROJECT_ID par l'ID du projet Google Cloud dans lequel se trouve votre nouvelle installation des composants de parc de Knative serving.
Alternative: Si vous ne pouvez pas créer de cluster et que vous devez migrer leur installation active de Knative serving, vous pouvez suivre les étapes décrites dans ce guide pour:
- Supprimer les anciennes ressources liées au module complémentaire GKE et à Istio
- Installer de nouvelles ressources de parc
- Migrez vers Cloud Service Mesh, puis migrez votre trafic.
- Nettoyer toutes les ressources obsolètes et inutilisées
Le guide suivant vous explique comment mettre à niveau votre installation existante et active de Knative serving, y compris toutes les charges de travail, pour répondre aux exigences de GKE Enterprise 1.8 et versions ultérieures.
Avant de commencer
Ce processus de mise à niveau ne doit être effectué que sur les clusters Google Kubernetes Engine sur lesquels vous avez précédemment installé Knative en tant que "module complémentaire GKE".
Vérifier si le module complémentaire GKE est installé.
Pour vérifier si votre installation de Knative serving est le module complémentaire GKE, exécutez la commande suivante:
gcloud container clusters describe \ CLUSTER_NAME \ --region CLUSTER_LOCATION \ --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
Remplacez :
- CLUSTER_NAME par le nom de votre cluster.
- CLUSTER_LOCATION par la région où se trouve votre cluster.
- PROJECT_ID par l'ID de votre projet Google Cloud.
Résultats :
- Module complémentaire GKE non installé :
- Aucun élément n'est renvoyé à votre terminal si le module complémentaire n'a jamais été installé.
disabled=true
est renvoyé si le module complémentaire a déjà été désinstallé.
- Module complémentaire GKE installé : si le module complémentaire est installé dans votre cluster, les détails de configuration du module complémentaire sont renvoyés.
Exemple :
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
- Exemple :
- L'exemple suivant montre que Knative serving a été installé dans le cluster
my-addon-cluster
via le module complémentaire GKE, qui est configuré pour gérer le trafic externe :gcloud container clusters describe my-addon-cluster \ --region us-central1-c --project my-gcp-project \ --format='get(addonsConfig.cloudRunConfig)'
Solution :
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
Vous devez disposer des autorisations adéquates dans votre projet Google Cloud pour répondre aux exigences de votre cluster, de votre parc et de Cloud Service Mesh:
Si vous disposez du rôle Propriétaire pour le projet Google Cloud, vous ne disposez pas des autorisations nécessaires pour créer des clusters, installer et configurer Knative serving.
Notez que les exigences d'autorisation de Cloud Service Mesh répondent également à toutes les exigences d'autorisation pour installer et configurer Knative serving.
Utiliser d'autres rôles et la configuration minimale requise :
Selon votre organisation, vous pouvez également répondre aux exigences d'autorisations en combinant les rôles prédéfinis suivants :
Autorisations du projet Google Cloud : rôle de base d'Éditeur
Autorisations du parc : administrateur GKE Hub ou rôle comprenant les autorisations suivantes:
gkehub.features.create
gkehub.features.update
Autorisations du cluster : rôle d'administrateur Kubernetes Engine :
- Administrateur de Kubernetes Engine
- Administrateur de cluster Kubernetes Engine
Seule la version 1.18 de Cloud Service Mesh est compatible.
Cloud Service Mesh nécessite que votre cluster utilise un type de machine avec au moins quatre processeurs virtuels, tel que
e2-standard-4
. Consultez le guide d'installation de Cloud Service Mesh pour en savoir plus sur les conditions requises. Si vous devez modifier le type de machine d'un cluster existant, consultez la page Migrer des charges de travail vers différents types de machines.Cloud Shell est l'environnement recommandé pour exécuter les commandes et le script de migration au cours de ce processus. Notez que le script d'installation de Cloud Service Mesh n'est compatible qu'avec Linux ou Cloud Shell.
Si votre installation existante de Knative serving utilise le module complémentaire Istio sur GKE, vous devez migrer vers le plan de contrôle géré Cloud Service Mesh. La migration du module complémentaire Istio sur GKE vers le plan de contrôle Cloud Service Mesh dans le cluster n'est actuellement pas disponible.
Mettre à niveau Knative serving et migrer des charges de travail
Pour vous aider à mettre à niveau votre installation Knative serving existante et à migrer vos charges de travail, vous exécutez un script qui automatise la plupart des étapes et vous invite à saisir des données tout au long du processus.
Préparer la mise à niveau et configurer votre environnement.
Migrer le trafic d'une charge de travail vers Cloud Service Mesh
Finaliser la mise à niveau et effectuer des tâches de nettoyage