Citrix ADC Ingress Controller

Interoperabilität mit ExternalDNS

In einer Kubernetes-Umgebung können Sie Ihre Bereitstellung mithilfe eines Service des Typs verfügbar machen LoadBalancer. Außerdem kann dem Dienst mithilfe des Citrix IPAM-Controllers eine IP-Adresse zugewiesen werden. Der Citrix IPAM-Controller weist dem Dienst eine IP-Adresse aus einem definierten Pool von IP-Adressen zu. Weitere Informationen finden Sie unter Expose-Dienste vom Typ LoadBalancer mit vom IPAM-Controller zugewiesenen IP-Adressen.

Auf den Dienst kann über die vom IPAM-Controller zugewiesene IP-Adresse zugegriffen werden. Für die Dienstermittlung müssen Sie die IP-Adresse manuell bei einem DNS-Anbieter registrieren. Wenn sich die dem Dienst zugewiesene IP-Adresse ändert, muss der zugehörige DNS-Datensatz manuell aktualisiert werden, und der gesamte Vorgang wird umständlich. In solchen Fällen können Sie ein externalDNS verwenden, um die DNS-Datensätze mit Ihren externen Einstiegspunkten synchronisiert zu halten. Mit ExternalDNS können Sie außerdem DNS-Datensätze dynamisch über Kubernetes-Ressourcen auf DNS-anbieterunabhängige Weise steuern.

Damit die ExternalDNS-Integration funktioniert, muss die external-dns.alpha.kubernetes.io/hostname Annotation den Hostnamen enthalten.

Hinweis:

Damit ExtenalDNS funktioniert, fügen Sie die Annotation external-dns.alpha.kubernetes.io/hostname in der Dienstspezifikation hinzu und geben Sie mithilfe der Annotation einen Hostnamen für den Service an.

Zur Integration mit ExternalDNS:

  1. Installieren Sie das ExternalDNS mit dem Infoblox-Anbieter.

    Hinweis:

    Die Interoperabilitätslösung wurde mit dem Infoblox-Anbieter getestet und die Lösung funktioniert möglicherweise auch für andere Anbieter.

  2. Geben Sie den Domainnamen in der ExternalDNS-Konfiguration an.
  3. Fügen Sie im Service der LoadBalancer Typspezifikation die folgende Anmerkung hinzu, und geben Sie mithilfe der Annotation einen Hostnamen für den Service an:

    external-dns.alpha.kubernetes.io/hostname
    
  4. Stellen Sie den Dienst mit dem folgenden Befehl bereit:

    kubectl create -f <service-name>.yml
    
Interoperabilität mit ExternalDNS

In diesem Artikel