Configurations de cluster privé avancées


Cette page décrit certaines configurations avancées que vous pouvez choisir lors de la création d'un cluster privé. Pour apprendre la configuration de base d'un cluster privé, consultez la page Créer un cluster privé.

Octroyer un accès Internet sortant aux nœuds privés

Pour fournir un accès Internet sortant à vos nœuds privés, par exemple pour extraire des images d'un registre externe, utilisez Cloud NAT pour créer et configurer une instance Cloud Router. Cloud NAT permet aux clusters privés d'établir des connexions sortantes via Internet pour envoyer et recevoir des paquets.

Cloud Router permet à tous vos nœuds de la région d'utiliser Cloud NAT pour toutes les plages d'adresses IP principales et plages d'adresses IP d'alias. De plus, il attribue automatiquement les adresses IP externes de la passerelle NAT.

Pour obtenir des instructions sur la création et la configuration de Cloud Router, reportez-vous à la section Créer une configuration Cloud NAT à l'aide de Cloud Router dans la documentation de Cloud NAT.

Créer un cluster privé dans un réseau VPC partagé

Pour apprendre à créer un cluster privé dans un réseau VPC partagé, consultez la page Créer un cluster privé dans un VPC partagé.

Déployer une application de conteneur Windows Server sur un cluster privé

Pour savoir comment déployer une application de conteneur Windows Server sur un cluster privé, reportez-vous à la documentation sur le pool de nœuds Windows.

Accéder au point de terminaison privé du plan de contrôle dans le monde entier

Le point de terminaison privé du plan de contrôle est mis en œuvre par un équilibreur de charge réseau interne à stratégie directe dans le réseau VPC du plan de contrôle. Les clients internes ou connectés via des tunnels Cloud VPN et des rattachements de VLAN Cloud Interconnect peuvent accéder aux équilibreurs de charge réseau internes à stratégie directe.

Par défaut, ces clients doivent se situer dans la même région que l'équilibreur de charge.

Lorsque vous activez l'accès mondial au plan de contrôle, l'équilibreur de charge réseau interne à stratégie directe est accessible dans le monde entier. Ainsi, les VM clientes et les systèmes sur site peuvent se connecter au point de terminaison privé du plan de contrôle, en fonction de la configuration des réseaux autorisés, depuis n'importe quelle région.

Pour en savoir plus sur les équilibreurs de charge réseau passthrough internes et l'accès mondial, consultez la page Équilibreurs de charge internes et réseaux connectés.

Activer l'accès mondial au point de terminaison privé du plan de contrôle

Par défaut, l'accès mondial n'est pas activé pour le point de terminaison privé du plan de contrôle lorsque vous créez un cluster privé. Pour activer l'accès mondial au plan de contrôle, utilisez les outils suivants en fonction du mode de votre cluster :

  • Pour les clusters standards, vous pouvez utiliser Google Cloud CLI ou Google Cloud Console.
  • Pour les clusters Autopilot, vous pouvez utiliser la ressource Terraform google_container_cluster.

Console

Pour créer un cluster privé avec accès mondial au plan de contrôle activé, procédez comme suit :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Cliquez sur Créer, puis sur Configurer dans la section Standard ou Autopilot.

  3. Saisissez un nom.

  4. Dans le volet de navigation, cliquez sur Mise en réseau.

  5. Sélectionner Cluster privé.

  6. Cochez la case Activer l'accès mondial au plan de contrôle.

  7. Configurez les autres champs comme vous le souhaitez.

  8. Cliquez sur Create (Créer).

Pour activer l'accès mondial au plan de contrôle pour un cluster privé existant, procédez comme suit :

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. À côté du cluster que vous souhaitez modifier, cliquez sur Actions, puis sur Modifier.

  3. Dans la section Mise en réseau, à côté de Accès mondial au plan de contrôle, cliquez sur Modifier.

  4. Dans la boîte de dialogue Modifier l'accès mondial au plan de contrôle, cochez la case Activer l'accès mondial au plan de contrôle.

  5. Cliquez sur Save Changes (Enregistrer les modifications).

gcloud

Ajoutez l'option --enable-master-global-access afin de créer un cluster privé pour lequel l'accès mondial au point de terminaison privé du plan de contrôle est activé :

gcloud container clusters create CLUSTER_NAME \
    --enable-private-nodes \
    --enable-master-global-access

Vous pouvez également activer l'accès mondial au point de terminaison privé du plan de contrôle pour un cluster privé existant :

gcloud container clusters update CLUSTER_NAME \
    --enable-master-global-access

Vérifier l'accès mondial au point de terminaison privé du plan de contrôle

Vous pouvez vérifier que l'accès mondial au point de terminaison privé du plan de contrôle est activé en exécutant la commande suivante et en consultant son résultat.

gcloud container clusters describe CLUSTER_NAME

Le résultat inclut une section privateClusterConfig dans laquelle vous pouvez voir l'état de masterGlobalAccessConfig.

privateClusterConfig:
  enablePrivateNodes: true
  masterIpv4CidrBlock: 172.16.1.0/28
  peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
  privateEndpoint: 172.16.1.2
  publicEndpoint: 34.68.128.12
  masterGlobalAccessConfig:
    enabled: true

Accéder au point de terminaison privé du plan de contrôle à partir d'autres réseaux

Lorsque vous créez un cluster privé GKE et désactivez le point de terminaison public du plan de contrôle, vous devez administrer le cluster avec des outils tels que kubectl en utilisant le point de terminaison privé de son plan de contrôle. Vous pouvez accéder au point de terminaison privé du plan de contrôle du cluster à partir d'un autre réseau, y compris depuis les réseaux suivants :

  • Un réseau sur site connecté au réseau VPC du cluster à l'aide de tunnels Cloud VPN ou de rattachements de VLAN Cloud Interconnect
  • Un autre réseau VPC connecté au réseau VPC du cluster à l'aide de tunnels Cloud VPN

Le schéma suivant illustre un chemin de routage entre un réseau sur site et les nœuds du plan de contrôle GKE :

Schéma illustrant le routage entre un VPC sur site et un plan de contrôle de cluster

Pour permettre aux systèmes d'un autre réseau de se connecter au point de terminaison privé du plan de contrôle d'un cluster, procédez comme suit :

  1. Identifiez et enregistrez les informations réseau pertinentes concernant le cluster et le point de terminaison privé de son plan de contrôle.

    gcloud container clusters describe CLUSTER_NAME \
       --location=COMPUTE_LOCATION \
       --format="yaml(network, privateClusterConfig)"
    

    Remplacez les éléments suivants :

    Dans le résultat de la commande, identifiez et enregistrez les informations ci-dessous à utiliser dans les étapes suivantes :

    • network : nom ou URI du réseau VPC du cluster.
    • privateEndpoint : adresse IPv4 du point de terminaison privé du plan de contrôle ou de la plage CIDR IPv4 englobante (masterIpv4CidrBlock).
    • peeringName : nom de la connexion d'appairage de réseaux VPC utilisée pour connecter le réseau VPC du cluster au réseau VPC du plan de contrôle.

    Le résultat ressemble à ce qui suit :

    network: cluster-network
    privateClusterConfig:
      enablePrivateNodes: true
      masterGlobalAccessConfig:
        enabled: true
      masterIpv4CidrBlock: 172.16.1.0/28
      peeringName: gke-1921aee31283146cdde5-9bae-9cf1-peer
      privateEndpoint: 172.16.1.2
      publicEndpoint: 34.68.128.12
    
  2. Envisagez d'activer l'accès mondial au point de terminaison privé du plan de contrôle pour autoriser les paquets à entrer depuis n'importe quelle région du réseau VPC du cluster. L'activation de l'accès mondial au point de terminaison privé du plan de contrôle vous permet de vous connecter au point de terminaison privé à l'aide de tunnels Cloud VPN ou de rattachements de VLAN Cloud Interconnect situés dans n'importe quelle région, et pas seulement dans la région du cluster.

  3. Créez une route pour l'adresse IP privateEndpoint ou la plage d'adresses IP masterIpv4CidrBlock dans l'autre réseau. Comme l'adresse IP du point de terminaison privé du plan de contrôle correspond toujours à la plage d'adresses IPv4 masterIpv4CidrBlock, créer une route pour l'adresse IP privateEndpoint ou sa plage englobante fournit un chemin d'accès aux paquets provenant de l'autre réseau vers le point de terminaison privé du plan de contrôle dans les cas suivants :

    • L'autre réseau se connecte au réseau VPC du cluster à l'aide de rattachements de VLAN Cloud Interconnect ou de tunnels Cloud VPN utilisant des routes dynamiques (BGP) : utilisez une annonce de routage personnalisé sur Cloud Router. Pour plus d'informations, consultez la section Annoncer des plages d'adresses IP personnalisées dans la documentation de Cloud Router.

    • L'autre réseau se connecte au réseau VPC du cluster à l'aide de tunnels VPN classiques qui n'utilisent pas de routes dynamiques : vous devez configurer une route statique dans l'autre réseau.

  4. Configurez le réseau VPC du cluster pour exporter ses routes personnalisées dans la relation d'appairage au réseau VPC du plan de contrôle. Google Cloud configure toujours le réseau VPC du plan de contrôle pour importer les routes personnalisées à partir du réseau VPC du cluster. Cette étape fournit un chemin de retour aux paquets provenant du point de terminaison privé du plan de contrôle vers l'autre réseau.

    Pour activer l'exportation de routes personnalisées à partir du réseau VPC de votre cluster, utilisez la commande suivante :

    gcloud compute networks peerings update PEERING_NAME \
        --network=CLUSTER_VPC_NETWORK \
        --export-custom-routes
    

    Remplacez les éléments suivants :

    • PEERING_NAME : nom de l'appairage qui connecte le réseau VPC du cluster au réseau VPC du plan de contrôle.
    • CLUSTER_VPC_NETWORK : nom ou URI du réseau VPC du cluster.

    Lorsque l'exportation de routes personnalisées est activée pour le VPC, la création de routes qui chevauchent les plages d'adresses IP Google Cloud peut interrompre votre cluster.

    Pour en savoir plus sur la mise à jour de l'échange de route pour les connexions d'appairage de réseaux VPC existantes, consultez la section Mettre à jour la connexion d'appairage.

    Les routes personnalisées dans le réseau VPC du cluster incluent des routes dont les destinations sont des plages d'adresses IP dans d'autres réseaux, par exemple un réseau sur site. Pour vous assurer que ces routes sont efficaces en tant que routes d'appairage personnalisées dans le réseau VPC du plan de contrôle, consultez la section Destinations compatibles depuis l'autre réseau.

Destinations compatibles depuis l'autre réseau

Les plages d'adresses envoyées par l'autre réseau aux routeurs cloud du réseau VPC du cluster doivent respecter les conditions suivantes :

  • Si le VPC de votre cluster peut accepter une route par défaut (0.0.0.0/0), le réseau VPC du plan de contrôle refuse toujours les routes par défaut, car il possède déjà une route par défaut locale. Si l'autre réseau envoie une route par défaut à votre réseau VPC, l'autre réseau doit également envoyer les destinations spécifiques des systèmes qui doivent se connecter au point de terminaison privé du plan de contrôle. Pour plus d'informations, reportez-vous à la section Ordre de routage.

  • Si le réseau VPC du plan de contrôle accepte les routes qui remplacent effectivement une route par défaut, ces routes brisent la connectivité aux API et services Google Cloud, ce qui interrompt le plan de contrôle du cluster. À titre d'exemple, l'autre réseau ne doit pas annoncer de routes avec des destinations 0.0.0.0/1 et 128.0.0.0/1. Reportez-vous au point précédent pour obtenir une autre solution.

Surveillez les limites de Cloud Router, en particulier le nombre maximal de destinations uniques pour les routes apprises.

Protéger un cluster privé avec VPC Service Controls

Pour renforcer la sécurité de vos clusters privés GKE, vous pouvez les protéger à l'aide de VPC Service Controls.

VPC Service Controls offre une sécurité supplémentaire pour vos clusters privés GKE afin de réduire le risque d'exfiltration des données. À l'aide de VPC Service Controls, vous pouvez ajouter des projets aux périmètres de service afin de protéger les ressources et les services des requêtes provenant de l'extérieur du périmètre.

Pour en savoir plus sur les périmètres de service, consultez la page Périmètres de service : détails et configuration.

Si vous utilisez Artifact Registry avec votre cluster privé GKE dans un périmètre de service VPC Service Controls, vous devez configurer le routage vers l'adresse IP virtuelle restreinte pour empêcher l'exfiltration de données.