Remarque : Les services canoniques sont automatiquement pris en charge dans les versions 1.6.8 et ultérieures d'Anthos Service Mesh.
Lorsque vous installez ou mettez à jour Anthos Service Mesh à l'aide de l'outil 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 Anthos 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, procédez comme suit :
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.12 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.12 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 :
Page des fonctionnalités Anthos
Dans la console Google Cloud, accédez à la page GKE Enterprise.
"Enregistrez" tous les clusters de votre maillage.
Dans la console Google Cloud, accédez à la page "Fonctionnalités" de GKE Enterprise.
Cliquez sur Activer à côté de la fonctionnalité "Service Mesh".
Après quelques minutes, le contrôleur géré active et crée des services canoniques pour les charges de travail exécutées sur les clusters enregistrés dans votre maillage. Exécutez kubectl get canonicalservices --all-namespaces
pour vérifier que certains services canoniques ont été créés pour les charges de travail de votre maillage.
Création d'un cluster GKE
Si vous avez utilisé l'option Activer Anthos 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.12/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 utilisé l'option --managed
pour Configurer Anthos Service Mesh géré, 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.12/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
Étapes suivantes
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