VPC Service Controls pour Cloud Service Mesh (géré)

Cloud Service Mesh (géré) est compatible avec VPC Service Controls en tant que fonctionnalité en disponibilité générale pour les nouveaux plans de contrôle.

Pour vérifier si votre plan de contrôle est compatible avec la disponibilité générale de VPC Service Controls, vérifiez la fonctionnalité de maillage l'état de votre appartenance à la condition VPCSC_GA_SUPPORTED.

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Le résultat est semblable à :

(...)
membershipStates:
  projects/FLEET_PROJECT_NUMBER/locations/MEMBERSHIP_LOCATION/memberships/MEMBERSHIP_ID:
    servicemesh:
      conditions:
      - code: VPCSC_GA_SUPPORTED
        details: This control plane supports VPC Service Controls GA.
        documentationLink: http://cloud.google.com/service-mesh/docs/managed/VPC Service Controls
        severity: INFO
(...)

Si vous disposez d'un plan de contrôle qui ne signale pas VPCSC_GA_SUPPORTED et que vous souhaitez utiliser VPC Service Controls, contactez l'assistance.

Avant de commencer

La règle d'administration et le périmètre de service de VPC Service Controls sont configurés au niveau au niveau de l'organisation. Assurez-vous que vous disposez des rôles appropriés pour l'administration de VPC Service Controls.

Configurer le périmètre de service VPC Service Controls

Créez ou mettez à jour votre périmètre de service :

  1. Ajoutez vos projets de cluster et votre projet de parc au périmètre de service. disposer d'un maillage de services réparti sur plusieurs VPC Service Controls ; les périmètres ne sont pas pris en charge.

  2. Ajoutez des services restreints au périmètre de service.

    Vous devez ajouter des services spécifiques aux listes des services autorisés et restreints dans périmètre de service, afin que votre cluster Cloud Service Mesh puisse y accéder. L'accès à ces services est également restreint au sein du réseau de cloud privé virtuel (VPC) de votre cluster.

    Ne pas ajouter ces services peut entraîner l'échec de l'installation de Cloud Service Mesh ou ne fonctionnent pas correctement. Par exemple, si vous n'ajoutez pas le paramètre API Mesh Configuration au périmètre de service, l'installation échouera et les charges de travail ne recevront pas leur configuration Envoy plan de contrôle.

    Console

    1. Pour modifier le périmètre, suivez les étapes décrites dans la section Mettre à jour un périmètre de service.
    2. Cliquez sur la page Modifier le périmètre de service VPC.
    3. Sous Services restreints, Services à protéger, cliquez sur Ajouter des services.
    4. Dans la boîte de dialogue Spécifier les services à limiter, cliquez sur Filtrer les services, puis saisissez API Mesh Configuration.
    5. Cochez la case du service.
    6. Cliquez sur Ajouter l'API Mesh Configuration.
    7. Répétez les étapes c à f pour ajouter les éléments suivants :
      • API Cloud Service Mesh Certificate Authority
      • API GKE Hub
      • API Cloud IAM
      • API Cloud Monitoring
      • Cloud Trace API
      • API Cloud Monitoring
      • API Google Cloud Resource Manager
      • Google Compute Engine API
      • API Google Container Registry
      • API Artifact Registry
      • API Google Cloud Storage
      • API Cloud Logging
      • API Security Token Service
    8. Cliquez sur Enregistrer.

    gcloud

    Pour mettre à jour la liste des services limités, exécutez la commande update et spécifiez la liste des services à ajouter, séparés par une virgule :

    gcloud access-context-manager perimeters update PERIMETER_NAME \
      --add-restricted-services=meshconfig.googleapis.com,meshca.googleapis.com,gkehub.googleapis.com,iam.googleapis.com,monitoring.googleapis.com,cloudtrace.googleapis.com,monitoring.googleapis.com,cloudresourcemanager.googleapis.com,compute.googleapis.com,containerregistry.googleapis.com,artifactregistry.googleapis.com,storage.googleapis.com,logging.googleapis.com,sts.googleapis.com \
      --policy=POLICY_NAME

    Où :

    • PERIMETER_NAME est le nom du périmètre de service que vous souhaitez mettre à jour.

    • POLICY_NAME est le nom (au format numérique) de la règle d'accès de votre organisation. Exemple :330193482019

  3. Cliquez sur Services accessibles par VPC et définissez cette option sur "Tous les services restreints", afin que les services restreints à l'étape ci-dessus restent accessibles depuis le périmètre VPC Service Controls.

  4. À moins que vous n'installiez Cloud Service Mesh à partir d'un réseau situé dans le périmètre, ajoutez un d'entrée pour autoriser l'identité exécutant la commande asmcli à accéder à périmètre de service.

    Pour en savoir plus, consultez la section Mettre à jour un périmètre de service.

Installer le maillage de services Cloud Service Mesh géré dans un périmètre VPC Service Controls

Suivez la procédure décrite dans l'article Configurer le maillage de services Cloud Service géré . Ensuite, vérifier que le plan de contrôle a bien été provisionné et qu'il n'y a aucune erreur liée à VPC Service Controls.

Dépannage

Impossible de créer un cluster avec la dernière image GKE 1.22

Un problème connu empêche la création d'un cluster avec la dernière version 1.22 dans un environnement restreint VPC Service Controls. La solution consiste à créer d'abord ce cluster avec l'image du canal GKE par défaut, puis à mettre à jour l'image :

gcloud container clusters create CLUSTER \
  --region REGION \
  --release-channel=rapid \
  --workload-pool=PROJECT_ID.svc.id.goog \
  --project PROJECT_ID
gcloud container clusters upgrade CLUSTER \
  --region REGION \
  --master --cluster-version 1.22 \
  --project PROJECT_ID

Impossible de télécharger les images des conteneurs

Cela peut se produire si les images se trouvent en dehors du périmètre de service. Déplacez les images vers un bucket situé à l'intérieur du périmètre, ou mettez à jour le périmètre pour ajouter une règle de sortie. En règle générale, la règle de sortie peut autoriser les identités sélectionnées à accéder à l'API Container Registry, à l'API Artifact Registry et à l'API Cloud Storage.

Le champ "État" de l'objet CRD ControlPlaneRevision affiche les erreurs liées à VPC Service Controls

Exécutez cette commande pour obtenir plus d'informations sur l'erreur :

gcloud logging read --project=PROJECT_ID \
'protoPayload.metadata.@type=type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata'

Où :

  • PROJECT_ID est l'ID du projet qui rencontre des erreurs.