Ingress Controller de Citrix ADC

Interoperabilidad con DNS externo

En un entorno de Kubernetes, puede exponer su implementación mediante un servicio de tipo LoadBalancer. Además, se puede asignar una dirección IP al servicio mediante el controlador IPAM de Citrix. El controlador de Citrix IPAM asigna la dirección IP al servicio desde un grupo definido de direcciones IP. Para obtener más información, consulte Exponer servicios de tipo LoadBalancer con direcciones IP asignadas por el controlador de IPAM.

Se puede acceder al servicio mediante la dirección IP asignada por el controlador de IPAM y, para la detección de servicios, debe registrar manualmente la dirección IP en un proveedor de DNS. Si la dirección IP asignada al servicio cambia, el registro DNS asociado debe actualizarse manualmente y todo el proceso se vuelve engorroso. En tales casos, puede utilizar un DNS externo para mantener los registros DNS sincronizados con sus puntos de entrada externos. Además, ExternalDNS le permite controlar los registros DNS de forma dinámica a través de los recursos de Kubernetes de una manera independiente del proveedor de DNS.

Para que la integración de ExternalDNS funcione, la anotación external-dns.alpha.kubernetes.io/hostname debe contener el nombre de host.

Nota:

Para que ExtenalDNS funcione, asegúrese de agregar la anotación external-dns.alpha.kubernetes.io/hostname en la especificación del servicio y de especificar un nombre de host para el servicio mediante la anotación.

Para integrarse con ExternalDNS:

  1. Instale el proveedor ExternalDNS con Infoblox.

    Nota:

    La solución de interoperabilidad se ha probado con el proveedor de Infoblox y la solución también podría funcionar para otros proveedores.

  2. Especifique el nombre de dominio en la configuración de ExternalDNS.
  3. En el servicio de LoadBalancer especificación de tipo, agregue la siguiente anotación y especifique un nombre de host para el servicio mediante la anotación:

    external-dns.alpha.kubernetes.io/hostname
    
  4. Implemente el servicio mediante el siguiente comando:

    kubectl create -f <service-name>.yml
    
Interoperabilidad con DNS externo

En este artículo