Vous consultez la documentation d'Anthos Service Mesh 1.8. Accédez à la documentation la plus récente ou sélectionnez une autre version disponible :

Ajouter des clusters à Anthos Service Mesh sur site

Ce guide explique comment configurer Anthos Service Mesh avec plusieurs clusters Anthos sur VMware. Vous pouvez étendre ce processus pour intégrer autant de clusters que vous le souhaitez dans votre maillage.

Une configuration multicluster Anthos Service Mesh peut résoudre plusieurs scénarios d'entreprise essentiels, tels que l'échelle, l'emplacement et l'isolation. Pour en savoir plus, consultez la section Cas d'utilisation multicluster. En outre, vous devez optimiser vos applications pour tirer le meilleur parti d'un maillage de services. Pour en savoir plus, consultez la page Préparer une application pour Anthos Service Mesh.

Si une version précédente d'Anthos Service Mesh est installée, consultez la page Mettre à niveau Anthos Service Mesh sur les clusters Anthos sur VMware. Cette installation active les fonctionnalités compatibles sur votre cluster.

Exigences

Avant de commencer à suivre ce guide, nous supposons que vous utilisez des clusters nouveaux ou existants créés à l'aide de la procédure décrite sur la page Installer Anthos Service Mesh sur site.

  • Les exigences de ce guide s'ajoutent à celles répertoriées sur la page Installer Anthos Service Mesh sur site.

  • La version 1.8 ou ultérieure d'Anthos Service Mesh est installée sur les clusters. Consultez la page Installer Anthos Service Mesh sur site pour installer ou mettre à niveau les clusters vers la version requise.

    gkectl version

    Si vous n'avez pas installé gkectl, consultez la page Téléchargements de GKE On-Prem.

  • Tous les clusters s'exécutent sur GKE On-Prem sur vSphere.

  • Vous aurez besoin du package de configuration utilisé précédemment pour installer Anthos Service Mesh sur votre cluster. Si vous avez besoin d'une autre copie, vous pouvez la télécharger à l'aide de la commande suivante :

    kpt pkg get https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.8-asm .

    Vous n'avez pas besoin de définir de valeurs dans le package de configuration.

Installer la passerelle est-ouest

  1. Installez une passerelle dédiée au trafic est-ouest dans le cluster1. Par défaut, cette passerelle est publique sur Internet. Les systèmes de production peuvent imposer des restrictions d'accès supplémentaires, telles que des règles de pare-feu, pour empêcher les attaques externes.

    asm/istio/expansion/gen-eastwest-gateway.sh \
    --mesh mesh1 --cluster cluster1 --network network1 --revision asm-186-8 | \
    istioctl --context="${CTX_CLUSTER1}" install -y -f -
    
  2. Dans le cluster2, installez une passerelle dédiée au trafic est-ouest du cluster1.

    /asm/istio/expansion/gen-eastwest-gateway.sh \
    --mesh mesh1 --cluster cluster2 --network network2 | \
    istioctl --context="${CTX_CLUSTER2}" install -y -f -
    

Afficher les services

Étant donné que les clusters se trouvent sur des réseaux distincts, vous devez afficher l'ensemble des services (*.local) sur la passerelle est-ouest des deux clusters. Bien que cette passerelle soit publique sur Internet, les services qui en dépendent ne sont accessibles que par les services disposant d'un certificat mTLS et d'un ID de charge de travail approuvés, comme s'ils se trouvaient sur le même réseau.

  1. Affichez les services via la passerelle est-ouest du cluster1.

    kubectl --context="${CTX_CLUSTER1}" apply -n istio-system -f \
    asm/istio/expansion/expose-services.yaml
    
  2. Affichez les services via la passerelle est-ouest du cluster2.

    kubectl --context="${CTX_CLUSTER2}" apply -n istio-system -f \
    asm/istio/expansion/expose-services.yaml
    

Activer la détection de points de terminaison

  1. Installez un secret distant dans cluster2 pour accéder au serveur d'API du cluster1.

    istioctl x create-remote-secret \
    --context="${CTX_CLUSTER1}" \
    --name=cluster1 | \
    kubectl apply -f - --context="${CTX_CLUSTER2}"
    
  2. Installez un secret distant dans cluster1 pour accéder au serveur d'API du cluster2.

    istioctl x create-remote-secret \
    --context="${CTX_CLUSTER2}" \
    --name=cluster2 | \
    kubectl apply -f - --context="${CTX_CLUSTER1}"
    

Étape suivante