Configurer vous-même votre projet et votre cluster GKE

Lorsque vous installez Anthos Service Mesh à l'aide de asmcli, la commande peut également configurer votre projet et votre cluster GKE sur Google Cloud si vous incluez --enable_all ou des options d'activation plus précises. Si vous préférez effectuer la configuration vous-même plutôt que de demander à asmcli d'effectuer les modifications, suivez les étapes décrites sur cette page.

Si une version précédente d'Anthos Service Mesh est déjà installée, vous n'avez pas besoin de modifier votre projet ou votre cluster avant d'utiliser asmcli pour passer à à la dernière version d'Anthos Service Mesh.

Par défaut, asmcli n'installe pas la istio-ingressgateway. Nous vous recommandons de déployer et de gérer le plan de contrôle et les passerelles séparément. Anthos Service Mesh est compatible avec l'injection automatique pour les déploiements de passerelles, ce qui facilite les mises à niveau d'Anthos Service Mesh. Après avoir mis à niveau Anthos Service Mesh, vous redémarrez les passerelles de la même manière que vos services pour récupérer la nouvelle configuration de plan de contrôle. Pour en savoir plus, consultez la section Installer et mettre à niveau des passerelles.

Avant de commencer

Configurer votre projet

  1. Obtenez l'ID du projet dans lequel le cluster a été créé.

    gcloud

    Exécutez la commande ci-dessous.

    gcloud projects list
    

    Console

    1. Accédez à la page Tableau de bord de la console Google Cloud.

      Accéder à la page "Tableau de bord"

    2. Cliquez sur la liste déroulante en haut de la page. Sélectionnez votre projet dans la fenêtre Sélectionner qui s'affiche.

      L'ID du projet est affiché sur la fiche Informations sur le projet du tableau de bord du projet.

  2. Créez une variable d'environnement pour le pool de charges de travail à l'aide de l'ID de projet:

    export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
    
  3. Définissez les rôles IAM (gestion de l'authentification et des accès). Si vous êtes un propriétaire de projet, vous disposez de toutes les autorisations nécessaires pour terminer l'installation. Si vous n'êtes pas un propriétaire de projet, quelqu'un doit vous accorder les rôles IAM spécifiques suivants. Dans la commande suivante, remplacez PROJECT_ID par l'ID de projet de l'étape précédente et GCP_EMAIL_ADDRESS par le compte que vous utilisez pour vous connecter à Google Cloud.

    ROLES=(
    'roles/servicemanagement.admin' \
    'roles/serviceusage.serviceUsageAdmin' \
    'roles/meshconfig.admin' \
    'roles/compute.admin' \
    'roles/container.admin' \
    'roles/resourcemanager.projectIamAdmin' \
    'roles/iam.serviceAccountAdmin' \
    'roles/iam.serviceAccountKeyAdmin' \
    'roles/gkehub.admin')
    for role in "${ROLES[@]}"
    do
      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member "user:GCP_EMAIL_ADDRESS" \
        --role="$role"
    done
    

    Si vous incluez l'option --enable_all ou --enable_gcp_iam_roles lorsque vous exécutez asmcli, elle définit les rôles IAM requis.

  4. Activez les API Google requises :

    gcloud services enable \
        --project=PROJECT_ID \
        mesh.googleapis.com
    

    Outre mesh.googleapis.com, cette commande active également les API suivantes :

    API Objectif Peut être désactivé
    meshconfig.googleapis.com Anthos Service Mesh utilise l'API de configuration du maillage pour relayer les données de configuration de votre maillage vers Google Cloud. De plus, l'activation de l'API Mesh Configuration permet d'accéder aux pages Anthos Service Mesh dans la console Google Cloud et d'utiliser l'autorité de certification Anthos Service Mesh (Mesh CA). Non
    meshca.googleapis.com Associé à l'autorité de certification Anthos Service Mesh utilisée par Anthos Service Mesh géré. Non
    container.googleapis.com Requis pour créer des clusters Google Kubernetes Engine (GKE). Non
    gkehub.googleapis.com Obligatoire pour gérer le réseau maillé en tant que parc. Non
    monitoring.googleapis.com Requis pour capturer la télémétrie pour les charges de travail de maillage. Non
    stackdriver.googleapis.com Obligatoire pour utiliser l'interface utilisateur des services. Non
    opsconfigmonitoring.googleapis.com Requis pour utiliser l'interface utilisateur des services pour les clusters hors Google Cloud. Non
    connectgateway.googleapis.com Obligatoire pour que le plan de contrôle Anthos Service Mesh géré puisse accéder aux charges de travail du maillage. Oui*
    trafficdirector.googleapis.com Active un plan de contrôle géré disponibilité élevée et évolutif. Oui*
    networkservices.googleapis.com Active un plan de contrôle géré disponibilité élevée et évolutif. Oui*
    networksecurity.googleapis.com Active un plan de contrôle géré disponibilité élevée et évolutif. Oui*

    L'activation des API peut prendre une minute ou plus. Lorsque les API sont activées, un résultat semblable au suivant s'affiche :

    Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished
    successfully.
    

    Si vous incluez l'option --enable_all ou --enable_apis lorsque vous exécutez asmcli, cela active les API requises.

Configurer votre cluster

Si vous incluez l'option --enable_all ou l'une des options d'activation plus précises, le script asmcli configure votre cluster pour vous.

  1. Définissez la zone ou la région par défaut pour Google Cloud CLI. Si vous ne définissez pas la valeur par défaut ici, veillez à spécifier l'option --zone ou --region dans les commandes gcloud container clusters de cette page.

    • Si vous disposez d'un cluster à zone unique, définissez la zone par défaut :

      gcloud config set compute/zone CLUSTER_LOCATION
      
    • Si vous disposez d'un cluster régional, définissez la région par défaut :

      gcloud config set compute/region CLUSTER_LOCATION
      
  2. Activer Workload Identity

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --workload-pool=${WORKLOAD_POOL}
    

    L'activation de Workload Identity peut nécessiter de 10 à 15 minutes.

  3. Enregistrez le cluster dans le parc.

  4. Initialisez votre projet afin de le préparer pour l'installation. Cette commande crée, entre autres, un compte de service pour permettre aux composants du plan de données, tels que le proxy side-car, d'accéder en toute sécurité aux données et aux ressources du projet. Dans la commande suivante, remplacez FLEET_PROJECT_ID par le projet hôte du parc.

    curl --request POST  \
     --header "Authorization: Bearer $(gcloud auth print-access-token)" \
     --header "Content-Type: application/json" \
     --data '{"workloadIdentityPools":["FLEET_PROJECT_ID.hub.id.goog","FLEET_PROJECT_ID.svc.id.goog","PROJECT_ID.svc.id.goog"]}' \
     "https://meshconfig.googleapis.com/v1alpha1/projects/PROJECT_ID:initialize"
    

    La commande renvoie des accolades vides : {}.

  5. Activez Cloud Monitoring et Cloud Logging sur GKE :

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --enable-stackdriver-kubernetes
    

Votre projet et votre cluster sont maintenant prêts pour une nouvelle installation à l'aide de la commande asmcli.

Étapes suivantes