Activer et désactiver le contrôleur de service canonique
Remarque:Les services canoniques sont automatiquement pris en charge dans les versions 1.6.8 et ultérieures de Cloud Service Mesh.
Lorsque vous installez ou mettez à niveau Cloud Service Mesh à l'aide de asmcli
, il déploie le contrôleur de service canonique sur votre cluster. Le contrôleur de service canonique regroupe les charges de travail appartenant au même service logique. Il est nécessaire pour disposer de toutes les fonctionnalités du tableau de bord des services dans la console Google Cloud. Le déploiement du contrôleur crée le déploiement canonical-service-controller-manager
dans votre cluster dans l'espace de noms asm-system
, et n'a aucune incidence sur vos services ou charges de travail.
Si vous n'avez pas utilisé l'outil asmcli
pour installer Cloud Service Mesh, il est possible que le contrôleur de service canonique ne soit pas activé sur votre cluster. Pour déterminer si le contrôleur de service canonique est activé sur votre cluster:
kubectl get services -n asm-system
Activer le contrôleur de service canonique au sein du cluster
Si le contrôleur de service canonique n'est pas activé, vous pouvez l'activer en procédant comme suit :
Téléchargez le package
kpt
contenant le contrôleur dans le répertoire de travail actuel :kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.22 asm
Appliquez la configuration du contrôleur :
kubectl apply -f asm/canonical-service/controller.yaml
Désactiver le contrôleur de service canonique du cluster
Si vous souhaitez désactiver le contrôleur de service canonique, procédez comme suit :
Téléchargez le package kpt qui contient le contrôleur dans le répertoire de travail actuel :
kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.22 asm
Supprimez le contrôleur de votre cluster :
kubectl delete -f asm/canonical-service/controller.yaml
Activer le contrôleur de service canonique géré
Si vous préférez ne pas installer le contrôleur intégré au cluster, vous pouvez activer le contrôleur de service canonique géré, qui exécute la même fonction pour tous les clusters enregistrés dans votre réseau maillé sans qu'il soit nécessaire d'installer ou de gérer le contrôleur vous-même.
Le contrôleur géré est conçu pour faire place au contrôleur intégré au cluster. Si vous effectuez une migration depuis le contrôleur intégré au cluster, vous devez supprimer ce contrôleur dans chaque cluster sur lequel il est exécuté pour que le contrôleur géré prenne le relais. Pour en savoir plus, consultez la section Désactiver le contrôleur de services canoniques intégré au cluster.
Pour activer le contrôleur géré, procédez comme suit:
Création d'un cluster GKE
Si vous avez utilisé l'option Activer Cloud Service Mesh lors de la création d'un cluster GKE, le contrôleur de service canonique géré a été installé par défaut.
Assurez-vous d'exécuter le contrôleur de service canonique géré en exécutant la commande suivante :
gcloud beta container hub mesh describe --project=PROJECT_ID
La description indique que les services canoniques ont été rapprochés :
projects/<your project number>/locations/global/memberships/<your cluster name>:
code: OK
description: |-
Revision(s) ready for use: asm-managed.
All Canonical Services have been reconciled successfully.
servicemeshFeatureState: {}
updateTime: '2021-11-16T21:10:36.289467777Z'
Si les services canoniques ne sont pas correctement rapprochés, un message d'erreur ou un résultat semblable au suivant s'affiche :
projects/<your project number>/locations/global/memberships/<your cluster name>:
code: OK
description: |-
Revision(s) ready for use: istiod-asm-173-6.
The Managed Canonical Service Controller is yielding to the in-cluster controller. See https://cloud.google.com/service-mesh/v1.22/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.
servicemeshFeatureState: {}
updateTime: '2021-11-16T21:05:43.286828851Z'
lifecycleState: ENABLED
Installation du plan de contrôle géré
Si vous avez installé Cloud Service Mesh géré (avec l'API Fleet ou avec asmcli
), le contrôleur de service canonique géré a été installé par défaut.
Assurez-vous d'exécuter le contrôleur de service canonique géré en exécutant la commande suivante :
gcloud beta container hub mesh describe --project=PROJECT_ID
La description indique que les services canoniques ont été rapprochés :
projects/<your project number>/locations/global/memberships/<your cluster name>:
code: OK
description: |-
Revision(s) ready for use: asm-managed.
All Canonical Services have been reconciled successfully.
servicemeshFeatureState: {}
updateTime: '2021-11-16T21:10:36.289467777Z'
Si les services canoniques ne sont pas correctement rapprochés, un message d'erreur ou un résultat semblable au suivant s'affiche :
projects/<your project number>/locations/global/memberships/<your cluster name>:
code: OK
description: |-
Revision(s) ready for use: istiod-asm-173-6.
The Managed Canonical Service Controller is yielding to the in-cluster controller. See https://cloud.google.com/service-mesh/v1.22/docs/canonical-service-controller-enable-and-disable#disable-in-cluster-service-controller for instructions on removing the in-cluster controller.
servicemeshFeatureState: {}
updateTime: '2021-11-16T21:05:43.286828851Z'
lifecycleState: ENABLED
Étape suivante
Apprenez-en davantage sur les points suivants :
- Services canoniques
- Bonnes pratiques concernant les services canoniques
- Définir un service canonique
- Résoudre les problèmes liés aux services canoniques