Utiliser des tags réseau pour appliquer des règles de pare-feu aux nœuds


Cette page vous explique comment appliquer dynamiquement des tags réseau aux nœuds de vos clusters Google Kubernetes Engine (GKE) Autopilot et Standard sans perturber les charges de travail en cours d'exécution.

À propos des tags réseau

Les tags réseau sont des métadonnées sur les machines virtuelles (VM) Compute Engine qui vous permettent de définir des règles de pare-feu et des routes applicables à des instances de VM spécifiques. Dans GKE, vous pouvez utiliser des tags réseau pour permettre l'application de règles de pare-feu VPC ou de routes aux nœuds de votre cluster.

L'API GKE vous permet d'appliquer et de mettre à jour des tags réseau sur vos clusters Autopilot et Standard sans perturber les charges de travail en cours d'exécution. Les tags réseau que vous spécifiez sont également appliqués à tous les nouveaux nœuds provisionnés par Autopilot et à ceux qui sont provisionnés automatiquement dans vos clusters Standard.

Utiliser des tags au lieu de tags réseau

Les tags réseau sont des chaînes simples qui ne sont pas soumises aux contrôles d'accès Identity and Access Management. Toute personne ayant accès à vos nœuds dans l'API GKE peut ajouter des tags réseau à ces nœuds.

Si vous utilisez GKE 1.28 ou une version ultérieure, nous vous recommandons d'utiliser les Tags disposant d'une désignation de pare-feu pour appliquer les Stratégies de pare-feu réseaurégionales ou globales, ce qui améliore les capacités des règles de pare-feu VPC.

Les tags sont des paires clé/valeur que vous associez à des VM Compute Engine. IAM permet de contrôler qui peut interagir avec des tags spécifiques.

Options de ligne de commande pour l'application de tags réseau

Le tableau suivant décrit les options que vous pouvez spécifier à l'aide de Google Cloud CLI pour appliquer des tags réseau à vos clusters, ainsi que leurs cas d'utilisation.

Option Mode de fonctionnement Niveau Description
--autoprovisioning-network-tags

  • Autopilot
  • Standard
Cluster

Applique les tags réseau spécifiés à tous les nœuds Autopilot et à tous les pools de nœuds Standard provisionnés automatiquement.

--tags
  • Standard
Pool de nœuds

Applique manuellement les tags réseau à des pools de nœuds Standard spécifiques.

Exigences

Vos clusters doivent exécuter GKE version 1.23.2-gke.300 ou ultérieure pour appliquer des tags réseau aux clusters Autopilot ou à des pools de nœuds Standard provisionnés automatiquement à l'aide de --autoprovisioning-network-tags.

Limites

L'utilisation de --autoprovisioning-network-tags vous empêche d'utiliser --tags pour mettre à jour les tags réseau des pools de nœuds Standard provisionnés automatiquement.

Nous vous recommandons d'utiliser --autoprovisioning-network-tags pour les pools de nœuds provisionnés automatiquement, et --tags uniquement pour les pools de nœuds créés manuellement.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Ajouter des tags réseau à de nouveaux clusters

Vous pouvez ajouter des tags réseau lorsque vous créez un nouveau cluster Autopilot ou un nouveau cluster Standard. Pour un cluster Standard, vous pouvez également spécifier des tags réseau spécifiquement pour le provisionnement automatique des nœuds.

Autopilot

Exécutez la commande suivante :

gcloud container clusters create-auto CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom de votre nouveau cluster Autopilot.
  • COMPUTE_REGION : région Compute Engine du nouveau cluster.
  • TAG1,TAG2, ... : liste des tags réseau à appliquer, séparés par une virgule.

Standard

Appliquer des tags réseau au pool de nœuds par défaut

Exécutez la commande suivante pour créer un nouveau cluster Standard et appliquer des tags réseau au pool de nœuds par défaut :

gcloud container clusters create CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom de votre nouveau cluster Standard.
  • COMPUTE_REGION : région Compute Engine du nouveau cluster.
  • NETWORK_TAG1,NETWORK_TAG2, ... : liste des tags réseau à appliquer, séparés par une virgule.

Appliquer des tags réseau à des pools de nœuds provisionnés automatiquement

Vous pouvez appliquer automatiquement des tags réseau à tous les pools de nœuds créés par le provisionnement automatique des nœuds.

Exécutez la commande suivante :

gcloud container clusters create CLUSTER_NAME \
    --region=COMPUTE_REGION \
    --enable-autoprovisioning \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Remplacez TAG1,TAG2,... par une liste de tags réseau, séparés par une virgule, que vous souhaitez appliquer à tous les pools de nœuds provisionnés automatiquement.

Mettre à jour les tags réseau sur des clusters existants

Vous pouvez mettre à jour les tags réseau sur les clusters Autopilot et Standard existants.

Autopilot

Exécutez la commande suivante :

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Standard

Mettre à jour les tags réseau sur des pools de nœuds spécifiques

Exécutez la commande suivante pour mettre à jour les tags réseau sur un pool de nœuds Standard spécifique. Vous ne pouvez pas utiliser cette commande pour mettre à jour les pools de nœuds provisionnés automatiquement si vous avez utilisé --autoprovisioning-network-tags.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Si --autoprovisioning-network-tags est défini pour le cluster, cette commande renvoie une erreur.

Mettre à jour les tags réseau pour des pools de nœuds provisionnés automatiquement

Vous pouvez mettre à jour les tags réseau que le provisionnement automatique des nœuds applique aux pools de nœuds provisionnés automatiquement, nouveaux et existants.

Exécutez la commande suivante :

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=TAG1,TAG2,...

Ajouter des tags réseau à de nouveaux pools de nœuds Standard

Pour créer un nouveau pool de nœuds dans des clusters Standard avec des tags réseau spécifiques, exécutez la commande suivante :

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=NETWORK_TAG1,NETWORK_TAG2,...

Remplacez NODE_POOL_NAME par le nom du nouveau pool de nœuds.

Afficher les tags réseau existants sur les clusters et les pools de nœuds

Vous pouvez afficher les tags réseau existants sur les clusters Autopilot et sur les pools de nœuds standards avec ou sans provisionnement automatique de nœuds.

Pools de nœuds standards Autopilot et provisionnés automatiquement

  • Exécutez la commande suivante :

    gcloud container clusters describe CLUSTER_NAME \
        --flatten=nodePoolAutoConfig.networkTags
    

    Si le cluster comporte des tags réseau, le résultat ressemble à ce qui suit:

    ---
    tags:
    - example-tag
    

Pools de nœuds standards sans provisionnement automatique de nœuds

  • Pour afficher les tags réseau d'un pool de nœuds Standard spécifique dans lequel vous avez appliqué les tags à l'aide de l'option --tags, exécutez la commande suivante:

    gcloud container node-pools describe NODE_POOL_NAME\
        --cluster=CLUSTER_NAME \
        --format='value(config.tags)'
    

    Remplacez NODE_POOL_NAME par le nom du pool de nœuds.

    Si le pool de nœuds comporte des tags, le résultat ressemble à ce qui suit:

    example-tag
    

Supprimer des tags réseau des clusters et des pools de nœuds

Vous pouvez supprimer les tags réseau des clusters GKE Autopilot et Standard.

Autopilot

Exécutez la commande suivante :

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=""

Standard

Supprimer des tags réseau de pools de nœuds provisionnés automatiquement

Pour supprimer les tags réseau de tous les pools de nœuds provisionnés automatiquement, exécutez la commande suivante :

gcloud container clusters update CLUSTER_NAME \
    --autoprovisioning-network-tags=""

Cette commande restaure également votre capacité à utiliser l'option --tags pour spécifier manuellement des tags réseau pour les pools de nœuds provisionnés automatiquement.

Supprimer des tags réseau de pools de nœuds spécifiques

Pour supprimer des tags réseau de pools de nœuds spécifiques, exécutez la commande suivante :

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --tags=""

Étape suivante