À propos des adresses IP persistantes pour les pods


Cette page explique comment assurer des communications fiables en attribuant directement une ou plusieurs adresses IP persistantes (statiques) à des pods spécifiques dans vos clusters Google Kubernetes Engine (GKE).

Dans certains cas, lorsque vous exécutez une solution de traduction d'adresse réseau (NAT) personnalisée, vous pouvez avoir besoin d'une adresse IP persistante statique pour les connexions sortantes et entrantes, soit lorsque la solution NAT lance la connexion, soit lorsqu'elle la reçoit. Vous pouvez également souhaiter contrôler les adresses IP allouées à l'application pour gérer la façon dont elle interagit avec d'autres systèmes, ou la façon dont elle traite des types de requêtes spécifiques en fonction des besoins de votre entreprise.

Par défaut, le pod utilise les adresses IP de son interface pour le trafic sortant. Les adresses IP de l'interface changent lorsque le pod redémarre ou est déplacé. Pour un meilleur contrôle du routage des communications, vous pouvez configurer manuellement des adresses IP persistantes pour vos pods dans GKE.

Ces adresses IP peuvent être des adresses IP externes pour communiquer sur Internet, ou des adresses IP internes pour communiquer dans votre réseau Google Cloud. Vous pouvez utiliser les adresses IP fournies par Google ou utiliser vos propres adresses IP (BYOIP).

En configurant des adresses IP persistantes pour les pods dans GKE, vous pouvez mapper l'application et la logique métier pour permettre à des pods spécifiques d'envoyer et de recevoir du trafic vers ou depuis l'une des adresses IP persistantes.

Terminologie et concepts

Cette page utilise les concepts suivants :

Classes de passerelle

Classes de passerelle Les passerelles, qui gèrent les attributions d'adresses IP persistantes, sont disponibles dans les classes suivantes :

  • gke-persistent-regional-external-managed pour les adresses IP externes
  • gke-persistent-regional-internal-managed pour les adresses IP internes (Google Cloud uniquement)

    Les classes de passerelle fonctionnent dans des régions spécifiques. Les classes de passerelle offrent une gestion de base des adresses IP et sont axées sur le routage réseau de couche 3 (L3).

Objets de passerelle

Les objets de passerelle servent de point central pour la gestion et la configuration des adresses IP persistantes. Les objets de passerelle dans GKE gèrent un pool d'adresses IP persistantes. Ils listent ces adresses et définissent les règles d'attribution de ces adresses IP à GKEIPRoute.

Écouteur

Un écouteur est un élément de votre configuration de passerelle GKE qui contrôle quels pods dans les espaces de noms de la passerelle peuvent utiliser les adresses IP persistantes détenues par la passerelle. L'écouteur vous permet de personnaliser l'accès pour plus de flexibilité et de sécurité. Chaque écouteur doit avoir un nom unique et vous permet de filtrer l'accès par espace de noms (tous, en fonction d'une étiquette, ou uniquement l'espace de noms de la passerelle).

Objet GKEIPRoute

L'objet GKEIPRoute est une ressource personnalisée que vous configurez pour attribuer une adresse IP persistante à un pod spécifique dans votre cluster GKE. Vous pouvez utiliser la section d'état de l'objet GKEIPRoute pour surveiller la configuration de votre adresse IP persistante, qui fournit des informations clés via les champs suivants :

  • Pod

    Le champ Pod indique le nom exact du pod associé aux adresses IP persistantes. Un seul pod peut utiliser plusieurs adresses IP persistantes.

  • Conditions

    Le champ Conditions indique si la configuration de votre adresse IP externe fonctionne correctement et peut également vous aider à diagnostiquer les problèmes si votre configuration n'est pas valide. Il existe quatre conditions :

    • Accepted : indique si la spécification de la ressource GKEIPRoute est valide. Si votre configuration comporte des erreurs, la condition Accepted est False avec un motif.
    • GCPReady : indique que Google Cloud a préparé toutes les ressources nécessaires. Les erreurs qui surviennent lors du processus de provisionnement des ressources Google Cloud sont reflétées dans l'état de la condition GCPReady.
    • DPV2Ready : indique l'état de la programmation du chemin de données, par exemple si le chemin de données est prêt et programmé pour autoriser les connexions réseau sur les adresses IP persistantes configurées.
    • Ready : indique que la configuration de votre adresse IP persistante est valide et fonctionnelle. Les pods peuvent être atteints via l'adresse IP persistante, à condition que votre application soit configurée pour l'utiliser. Cette valeur est définie sur True lorsque les trois autres conditions précédentes sont également True.

Modes de réaction

Les modes de réaction déterminent le comportement du système lorsque le pod associé à une adresse IP persistante subit des modifications, par exemple lorsqu'il passe d'un nœud à un autre ou lorsqu'un nouveau pod correspondant devient disponible. Vous pouvez utiliser les modes de réaction pour que vos adresses IP persistantes restent utilisables même lorsque vos pods changent.

Les modes de réaction sont les suivants :

  • ReadyCondition

    En mode ReadyCondition, le système d'adresses IP persistantes donne la priorité à l'état du pod. Le système d'adresses IP persistantes n'attribue des adresses IP qu'aux pods qui correspondent aux étiquettes spécifiées et qui ont réussi les vérifications d'état Kubernetes, en signalant leur état Ready comme étant True. Ce mode est idéal pour les applications dans lesquelles il est essentiel que le pod qui reçoit l'adresse IP persistante soit entièrement préparé pour gérer le trafic entrant et sortant.

  • Exists

    Le mode Exists donne la priorité à la présence d'un pod. L'adresse IP persistante est associée à un pod si celui-ci correspond aux étiquettes de votre configuration et a été programmé sur un nœud spécifique de votre cluster. Cela signifie que le pod existe et qu'il a un emplacement désigné pour s'exécuter. Ce mode est particulièrement adapté aux scénarios où l'attribution rapide de l'adresse IP persistante est prioritaire par rapport à une préparation stricte, ou dans des environnements de développement et de test où la connectivité immédiate peut être plus importante que l'intégrité complète de l'application.

StatefulSets

Les StatefulSets sont un type de charge de travail Kubernetes conçu pour les applications qui ont besoin d'identifiants stables et d'un espace de stockage persistant. Les pods d'un StatefulSet ont des noms prévisibles (par exemple, my-app-0, my-app-1).

Déploiements

Les déploiements sont un type de charge de travail Kubernetes permettant de gérer des applications sans état, dans lesquelles les pods sont généralement interchangeables. Les noms des pods dans les déploiements ne sont pas entièrement prévisibles.

Cas d'utilisation

Les adresses IP persistantes pour les pods GKE répondent à plusieurs cas d'utilisation pour les fournisseurs de services réseau et de sécurité qui exécutent des applications liées au réseau sur GKE et GKE Enterprise.

Les adresses IP persistantes pour les pods GKE répondent aux cas d'utilisation suivants :

  • Contrôle du NAT : en attribuant des adresses IP persistantes aux pods exécutant des fonctions réseau, vous contrôlez précisément les adresses IP sources utilisées pour le trafic sortant. Cela vous permet d'intégrer votre logique NAT propriétaire.
  • Pools d'adresses IP dédiées : les adresses IP dédiées vous permettent de faire correspondre des adresses spécifiques à des pods 5G Core individuels, ce qui garantit la compatibilité avec les logiciels spécialisés des fournisseurs.
  • Flux de trafic fiables : comme le trafic de retour doit être redirigé via la même fonction réseau, les adresses IP persistantes permettent aux systèmes externes de reconnaître et de répondre au bon pod sans interruption des communications.

Avantages

Les adresses IP persistantes pour les pods GKE offrent les avantages suivants :

  • Identité externe : si vous attribuez une adresse IP persistante externe à un pod, les systèmes externes peuvent accéder à ce pod de manière cohérente, même s'il est redémarré ou déplacé dans le cluster. Cela est utile pour les services qui nécessitent un point de terminaison visible de l'extérieur.
  • Communication fiable : les applications qui dépendent d'autres ressources avec des adresses IP spécifiques peuvent établir des connexions fiables à l'aide d'adresses IP persistantes. Les adresses IP persistantes sont importantes pour les anciens systèmes ou applications avec des dépendances d'adresses IP codées en dur.
  • Anciennes migrations : les anciennes migrations peuvent s'avérer utiles lors de la migration d'applications qui dépendent d'adresses IP spécifiques pendant le processus de transition.
  • BYOIP : BYOIP vous permet de conserver le contrôle sur des plages d'adresses IP spécifiques que vous possédez déjà en les utilisant dans vos clusters GKE.

Étape suivante