Contrôleur d'entrée Citrix ADC

Interopérabilité avec ExternalDNS

Dans un environnement Kubernetes, vous pouvez exposer votre déploiement à l’aide d’un service de type LoadBalancer. En outre, une adresse IP peut être attribuée au service à l’aide du contrôleur IPAM Citrix. Le contrôleur IPAM Citrix attribue une adresse IP au service à partir d’un pool d’adresses IP défini. Pour plus d’informations, voir Exposer des services de type LoadBalancer avec des adresses IP attribuées par le contrôleur IPAM.

Le service est accessible à l’aide de l’adresse IP attribuée par le contrôleur IPAM et pour la découverte du service, vous devez enregistrer manuellement l’adresse IP auprès d’un fournisseur DNS. Si l’adresse IP attribuée au service change, l’enregistrement DNS associé doit être mis à jour manuellement et l’ensemble du processus devient fastidieux. Dans ce cas, vous pouvez utiliser un ExternalDNS pour maintenir les enregistrements DNS synchronisés avec vos points d’entrée externes. En outre, ExternalDNS vous permet de contrôler les enregistrements DNS dynamiquement via les ressources Kubernetes d’une manière indépendante du fournisseur DNS.

Pour que l’intégration ExternalDNS fonctionne, l’annotation external-dns.alpha.kubernetes.io/hostname doit contenir le nom d’hôte.

Remarque :

Pour que ExtenalDNS fonctionne, assurez-vous d’ajouter l’annotation external-dns.alpha.kubernetes.io/hostname dans la spécification du service et spécifiez un nom d’hôte pour le service à l’aide de l’annotation.

Pour intégrer ExternalDNS :

  1. Installez ExternalDNS avec le fournisseur Infoblox.

    Remarque :

    La solution d’interopérabilité a été testée auprès du fournisseur Infoblox et la solution pourrait également fonctionner pour d’autres fournisseurs.

  2. Spécifiez le nom de domaine dans la configuration ExternalDNS.
  3. Dans la LoadBalancer spécification de type de service, ajoutez l’annotation suivante et spécifiez un nom d’hôte pour le service à l’aide de l’annotation :

    external-dns.alpha.kubernetes.io/hostname
    
  4. Déployez le service à l’aide de la commande suivante :

    kubectl create -f <service-name>.yml
    
Interopérabilité avec ExternalDNS

Dans cet article