Utilisez ce guide pour migrer votre installation existante de Knative serving sur Google Cloud afin d'utiliser un parc avec Cloud Service Mesh.
La version "d'essai gratuite" précédente de Knative serving, également appelée module complémentaire GKE, inclut une version intégrée et simple d'Istio 1.4, qui n'est plus compatible à partir d'Anthos 1.8.
La mise à niveau de votre installation Knative serving de manière à utiliser les parcs et Cloud Service Mesh offre une mise à niveau du produit améliorée et une gestion indépendante, ainsi qu'une intégration améliorée entre les 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 :
La procédure recommandée consiste à migrer vos charges de travail à partir du cluster sur lequel la version précédente de Knative serving est installée ("Module complémentaire GKE") vers un nouveau cluster sur lequel vous avez installé et configuré une nouvelle installation de parc Knative serving. 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 utiliser les instructions pour déployer une révision d'un service existant afin de télécharger un fichier de configuration YAML individuellement pour chacun de vos services, puis déployer chaque fichier YAML sur votre nouveau cluster dans l'installation de parc 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 dans votre nouvelle installation de Knative serving en tant que composant de parc.
CLUSTER_LOCATION par la zone ou la région du cluster dans votre nouvelle installation de Knative serving en tant que composant de parc.
PROJECT_ID par l'ID de votre projet Google Cloud dans lequel réside votre nouvelle installation de Knative serving e,t tant que composant de parc.
Autre possibilité : les utilisateurs qui ne peuvent pas créer de cluster et qui doivent migrer leur installation active de Knative serving peuvent suivre les étapes de ce guide afin d'effectuer les opérations suivantes :
- Supprimer les anciennes ressources liées au module complémentaire GKE et à Istio
- Installer de nouvelles ressources de parc.
- Effectuer la migration vers Cloud Service Mesh, puis migrer le trafic
- Nettoyer toutes les ressources obsolètes et inutilisées
Le guide suivant vous accompagne tout au long du processus alternatif de mise à niveau de votre installation existante et active de Knative Serving, y compris de toutes les charges de travail, afin de 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 serving 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 correspond au 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)'
Réponse :
loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
Vous devez disposer des autorisations nécessaires 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 disposez de bien plus d'autorisations que nécessaires pour créer des clusters et les installer, puis configurer Knative serving.
Veuillez noter que les exigences d'autorisations de Cloud Service Mesh répondent également à toutes les exigences d'autorisations pour l'installation et la configuration de 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 un rôle qui inclut 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 exige que votre cluster utilise un type de machine comportant au moins quatre vCPU (processeurs virtuels), par exemple
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é de Cloud Service Mesh. La migration du module complémentaire Istio sur GKE vers le plan de contrôle au sein du cluster de Cloud Service Mesh est actuellement incompatible.
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 allez exécuter un script qui automatise la plupart des étapes et vous invite à effectuer des saisies tout au long du processus.
Préparer la mise à niveau et configurer votre environnement.
Migrer le trafic de charge de travail vers Cloud Service Mesh
Finaliser la mise à niveau et effectuer des tâches de nettoyage