Citrix ADC Ingress Controller

BGP-Ankündigung externer IP-Adressen für Dienste und Inresses vom Typ LoadBalancer mit Citrix ADC CPX

Der Kubernetes-Dienst vom Typ LoadBalancer Support wird von Cloud-Load Balancern in einer Cloud-Umgebung bereitgestellt. Cloud-Dienstanbieter ermöglichen diese Unterstützung, indem sie automatisch einen Load Balancer erstellen und eine IP-Adresse zuweisen, die als Teil des Dienststatus angezeigt wird. Jeder Datenverkehr, der für die externe IP-Adresse bestimmt ist, wird vom Cloud-Load Balancer auf NodeIP und NodePort Lastenausgleich durchgeführt. Sobald der Datenverkehr den Kubernetes-Cluster erreicht, führt Kube-Proxy das Routing zu den eigentlichen Anwendungs-Pods mithilfe von iptables oder virtuellen IP-Serverregeln durch. Für On-Prem-Umgebungen ist die automatische Konfiguration des Cloud-Lastenausgleichs jedoch nicht verfügbar.

Sie können die Dienste des Typs LoadBalancer mithilfe des Citrix Ingress Controller und Tier-1-Citrix ADC-Geräte wie Citrix ADC VPX oder MPX verfügbar machen. Der Citrix ADC VPX oder MPX, der sich außerhalb des Kubernetes-Clusters befindet, gleicht den eingehenden Datenverkehr zu den Kubernetes-Diensten aus. Weitere Informationen zu einer solchen Bereitstellung finden Sie unter [Dienste vom Typ verfügbar machen LoadBalancer] (/en-us/citrix-k8s-ingress-controller/network/type-loadbalancer.html).

Es ist jedoch möglicherweise nicht immer möglich, ein externes ADC-Gerät zu verwenden, um den Dienst vom Typ LoadBalancer in einer lokalen Umgebung verfügbar zu machen. In einigen Fällen ist es wünschenswert, alle zugehörigen Ressourcen vom Kubernetes-Cluster selbst ohne externe Komponente zu verwalten. Der Citrix Ingress Controller bietet eine Möglichkeit, den Dienst vom Typ LoadBalancer mithilfe von Citrix ADC CPX, das innerhalb des Kubernetes-Clusters ausgeführt wird, verfügbar zu machen. Die vorhandene BGP-Fabric zur Weiterleitung des Datenverkehrs zu den Kubernetes-Knoten wird zur Implementierung dieser Lösung genutzt.

In dieser Bereitstellung wird Citrix ADC CPX als Daemonset auf den Kubernetes-Knoten im Hostmodus bereitgestellt. Citrix ADC CPX richtet eine BGP-Peering-Sitzung mit Ihren Netzwerkroutern ein und verwendet diese Peering-Sitzung, um die IP-Adressen externer Clusterdienste bekannt zu geben. Wenn Ihre Router über ECMP-Funktionen verfügen, wird der Datenverkehr vom Upstream-Router auf mehrere CPX-Instanzen verteilt, wodurch wiederum die Last auf die tatsächlichen Anwendungs-Pods verteilt wird. Wenn Sie den Citrix ADC CPX in diesem Modus bereitstellen, fügt Citrix ADC CPX iptables-Regeln für jeden Dienst vom Typ LoadBalancer auf Kubernetes-Knoten hinzu. Der für die externe IP-Adresse bestimmte Datenverkehr wird an Citrix ADC CPX-Pods weitergeleitet.

Das folgende Diagramm erklärt eine Bereitstellung, bei der Citrix ADC CPX einen Dienst vom Typ LoadBalancer verfügbar macht:

citrix-adc-cpx-service-type-lb

Wie im Diagramm gezeigt, wird Citrix ADC CPX als Daemonsatz ausgeführt und führt eine BGP-Sitzung über Port 179 an der Knoten-IP-Adresse aus, auf die die Kubernetes-Knotenressource verweist. Für jeden Dienst vom Typ LoadBalancer, der dem Kubernetes-API-Server hinzugefügt wurde, konfiguriert der Citrix Ingress Controller den Citrix ADC CPX, um die externe IP-Adresse an den konfigurierten BGP-Router anzukündigen. Ein /32-Präfix wird verwendet, um die Routen an den externen Router anzukündigen, und die Knoten-IP-Adresse wird als Gateway verwendet, um die externe IP-Adresse zu erreichen. Sobald der Datenverkehr den Kubernetes-Knoten erreicht, steuert die iptables-Regel den Datenverkehr an Citrix ADC CPX, der wiederum den Lastausgleich auf die tatsächlichen Service-Pods durchführt.

Mit dieser Bereitstellung können Sie auch Eingangsressourcen von Kubernetes verwenden und die virtuelle IP-Adresse (VIP) von Ingress an den Router ankündigen. Sie können die NS_VIP Umgebungsvariable angeben, während Sie den Citrix Ingress Controller bereitstellen, der als VIP für alle eingehenden Ressourcen fungiert. Wenn eine Ingress-Ressource hinzugefügt wird, kündigt Citrix ADC CPX den NS_VIP externen Routern über BGP an, um den Datenverkehr anzuziehen. Sobald der Datenverkehr zum erreicht ist NS_VIP, führt Citrix ADC CPX das Content Switching und den Lastenausgleich durch, wie in der Eingangsressource angegeben.

Hinweis:

Damit diese Lösung funktioniert, muss der Citrix Ingress Controller als Root-Benutzer ausgeführt werden und über die entsprechenden NET_ADMIN Funktionen verfügen.

Bereitstellen der Citrix ADC CPX-Lösung für Dienste vom Typ LoadBalancer

In diesem Verfahren wird erläutert, wie Citrix ADC CPX als Daemonset im Host-Netzwerk bereitgestellt wird, um Dienste vom Typ LoadBalancer verfügbar zu machen.

Diese Konfiguration umfasst die folgenden Aufgaben:

  • Bereitstellen von Citrix ADC CPX mit dem Citrix Ingress Controller als Sidecar

  • BGP-Konfiguration

  • Dienstkonfiguration

Voraussetzungen

  • Sie müssen den Upstream-Router für das BGP-Routing mit ECMP-Unterstützung konfigurieren und Kubernetes-Knoten als Nachbarn hinzufügen.
  • Wenn der Router Load Balancing unterstützt, ist es besser, einen stabilen ECMP-Hashing-Algorithmus für den Lastausgleich mit einer höheren Entropie für einen gleichmäßigen Lastausgleich zu verwenden.

Führen Sie folgende Schritte aus:

  1. Laden Sie die Datei rbac.yaml herunter und stellen Sie die RBAC-Regeln für Citrix ADC CPX und den Citrix Ingress Controller bereit.

    kubectl apply -f rbac.yaml
    
  2. Laden Sie die citrix-k8s-cpx-ingress.yml mit dem folgenden Befehl herunter.

    wget  https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/docs/configure/cpx-bgp-router/citrix-k8s-cpx-ingress.yml
    
  3. Bearbeiten Sie die Datei citrix-k8s-cpx-ingress.yaml und geben Sie die erforderlichen Werte an.

    • Das Argument –configmap gibt den ConfigMap-Speicherort für den Citrix Ingress Controller in Form von an namespace/name.
    • Das Argument --ipam citrix-ipam-controller kann angegeben werden, wenn Sie den Citrix IPAM-Controller für die automatische IP-Adresszuweisung ausführen.
    • (Optional) nodeSelector, um die Knoten auszuwählen, auf denen Sie das Citrix ADC CPX-Dämonset ausführen müssen. Standardmäßig wird es auf allen Worker-Knoten ausgeführt.
  4. Wenden Sie die Datei citrix-k8s-cpx-ingress.yaml an, um ein Daemonset zu erstellen, das Citrix ADC CPX und den Citrix Ingress Controller startet.

      kubectl apply -f citrix-k8s-cpx-ingress.yml
    
  5. Erstellen Sie eine ConfigMap (configmap.yaml) mit der BGP-Konfiguration, die als Argument an den Citrix Ingress Controller übergeben wird. Ausführliche Informationen zur BGP-Konfiguration finden Sie unter BGP-Konfiguration.

    Sie benötigen die folgenden Informationen, um das BGP-Routing zu konfigurieren:

    • Die Router-IP-Adresse für Citrix ADC CPX zum Verbinden
    • Das autonome System (AS-Nummer) des Routers
    • Die AS-Nummer für Citrix ADC CPX

    Es folgt ein Beispiel für ConfigMap mit der BGP-Konfiguration.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config
      labels:
        app: cic
    data:
      NS_BGP_CONFIG: |
        bgpConfig:
        - bgpRouter:
            localAS: 100
            neighbor:
            - address: 10.102.33.33
              remoteAS: 100
              advertisementInterval: 10
              ASOriginationInterval: 10 
    
  6. Wenden Sie die in Schritt 5 erstellte ConfigMap an, um die BGP-Konfiguration zu übernehmen.

    kubectl apply -f configmap.yaml

  7. Erstellen Sie eine YAML-Datei mit der erforderlichen Konfiguration für den Dienst vom Typ LoadBalancer.

    Hinweis:

    Ausführliche Informationen finden Sie unter Dienstkonfiguration. Im Abschnitt Dienstkonfiguration werden verschiedene Möglichkeiten zum Abrufen einer externen IP-Adresse für den Dienst sowie die Verwendung der von Citrix bereitgestellten Dienstanmerkung zum Konfigurieren verschiedener Citrix ADC-Funktionen erläutert.

    Es folgt ein Beispiel für die Konfiguration des Dienstes vom Typ LoadBalancer.

    apiVersion: v1
    kind: Service
    metadata:
      name: kuard-service
      annotations:
        # This uses IPAM to allocate an IP from range 'Dev'
        # service.citrix.com/ipam-range: 'Dev'
        service.citrix.com/frontend-ip: 172.217.163.17
        service.citrix.com/service-type-0: 'HTTP'
        service.citrix.com/service-type-1: 'SSL'
        service.citrix.com/lbvserver: '{"80-tcp":{"lbmethod":"ROUNDROBIN"}}'
        service.citrix.com/servicegroup: '{"80-tcp":{"usip":"yes"}}'
        service.citrix.com/ssl-termination: edge
        service.citrix.com/monitor: '{"80-tcp":{"type":"http"}}'
        service.citrix.com/frontend-httpprofile: '{"dropinvalreqs":"enabled", "websocket" : "enabled"}'
        service.citrix.com/backend-httpprofile: '{"dropinvalreqs":"enabled", "websocket" : "enabled"}'
        service.citrix.com/frontend-tcpprofile: '{"ws":"enabled", "sack" : "enabled"}'
        service.citrix.com/backend-tcpprofile: '{"ws":"enabled", "sack" : "enabled"}'
        service.citrix.com/frontend-sslprofile: '{"hsts":"enabled", "tls12" : "enabled"}'
        service.citrix.com/backend-sslprofile: '{"tls12" : "enabled"}
        service.citrix.com/ssl-certificate-data-1: |
          -----BEGIN-----
               [...]
          -----END-----
        service.citrix.com/ssl-key-data-1: |
    spec:
      type: LoadBalancer
      selector:
        app: kuard
      ports:
      - port: 80
        targetPort: 8080
        name: http
      - port: 443
        targetPort: 8443
        name: https
    
  8. Wenden Sie den Dienst vom Typ LoadBalancer an.

    kubectl apply -f service-example.yaml
    

Sobald der Dienst angewendet wurde, erstellt der Citrix Ingress Controller einen virtuellen Lastausgleichsserver mit aktivierter BGP Route Health Injection. Wenn der Status des virtuellen Lastausgleichsservers UP ist, wird die Route für die externe IP-Adresse dem Nachbarrouter mit einem /32-Präfix mit der Knoten-IP-Adresse als Gateway angekündigt.

BGP-Konfiguration

Die BGP-Konfiguration wird mit der ConfigMap durchgeführt, die als Argument an den Citrix Ingress Controller übergeben wird.

Sie benötigen die folgenden Informationen, um das BGP-Routing zu konfigurieren:

  • Die Router-IP-Adresse, damit Citrix ADC CPX eine Verbindung herstellen kann
  • Das autonome System (AS-Nummer) des Routers
  • Die AS-Nummer für Citrix ADC CPX

In der folgenden ConfigMap für die BGP-Konfiguration stellt das bgpConfig Feld die BGP-Konfiguration dar.


apiVersion: v1
kind: ConfigMap
metadata:
  name: config
  labels:
    app: cic
data:
  NS_BGP_CONFIG: |
    bgpConfig:
    - bgpRouter:
        localAS: 100
        neighbor:
        - address: x.x.x.x
          remoteAS: 100
          advertisementInterval: 10
          ASOriginationInterval: 10
<!--NeedCopy-->

In der folgenden Tabelle werden die verschiedenen Felder des bgpConfig Feldes erläutert.

Feld Beschreibung Typ Standardwert Erforderlich
nodeSelector Wenn das nodeSeclector Feld vorhanden ist, ist die BGP-Router-Konfiguration für Knoten anwendbar, die dem Feld NodeSelector entsprechen. nodeSelector akzeptiert kommagetrennte key=value Paare, wobei jeder Schlüssel einen Beschriftungsnamen darstellt und der Wert der Beschriftungswert ist. For example: nodeSelector: datacenter=ds1,rack-rack1 string   Nein
bgpRouter Gibt die BGP-Konfiguration an. Informationen zu den verschiedenen Feldern der bgpRouterfinden Sie in der folgenden Tabelle. bgpRouter   Ja

In der folgenden Tabelle werden die Felder für das bgpRouter Feld erläutert.

Feld Beschreibung Typ Standardwert Erforderlich
localAS AS-Nummer für den Citrix ADC CPX integer   Ja
neighbor BGP-Konfiguration des Nachbarrouters. Nachbar   Ja

In der folgenden Tabelle wird das neighbor Feld erläutert.

| Feld | Beschreibung | Typ | Standardwert | Erforderlich | | ———————– | ————————————————————————————— | ——- | ————- | ——– | | address | Die IP-Adresse des Nachbar-Routers. | string | | Ja | | remoteAS | AS-Nummer des Nachbar-Routers. | integer | | | Ja | | advertisementInterval | Dieses Feld legt ein Mindestintervall zwischen dem Senden von BGP-Routing-Aktualisierungen (in Sekunden) fest. | Ganzzahl | 10 Sekunden | Ja | | ASOriginationInterval | Dieses Feld legt das Intervall für das Senden von AS fest Aktualisierungen des Routings für den Ursprung (in Sekunden). | Ganzzahl | 10 Sekunden | Ja |

Verschiedene Nachbarn für verschiedene Knoten

Standardmäßig stellt jeder Knoten im Cluster eine Verbindung zu allen in der Konfiguration aufgeführten Nachbarn her. Wenn der Kubernetes-Cluster jedoch über verschiedene Rechenzentren oder verschiedene Netzwerke verteilt ist, sind möglicherweise unterschiedliche Nachbarkonfigurationen für verschiedene Knoten erforderlich. Sie können das nodeSelector Feld verwenden, um die Knoten auszuwählen, die für die BGP-Routingkonfigurationen erforderlich sind.

node-selector

Ein Beispiel für ConfigMap mit der nodeSelector Konfiguration ist wie folgt gegeben:


apiVersion: v1
kind: ConfigMap
metadata:
  name: config
  labels:
    app: cic
data:
  NS_BGP_CONFIG: |
    bgpConfig:
    - nodeSelector: datacenter=ds1
      bgpRouter:
        localAS: 100
        neighbor:
        - address: 10.102.33.44
          remoteAS: 100
          advertisementInterval: 10
          ASOriginationInterval: 10
    - nodeSelector: datacenter=ds2
      bgpRouter:
        localAS: 100
        neighbor:
        - address: 10.102.28.12
          remoteAS: 100
          advertisementInterval: 10
          ASOriginationInterval: 10
<!--NeedCopy-->

In diesem Beispiel wird der Router mit der IP-Adresse 10.102.33.44 von Knoten mit der Bezeichnung als Nachbar verwendet datacenter=ds1. Der Router mit der IP-Adresse 10.102.28.12 wird von den Knoten mit dem Label verwendet datacenter=ds2.

Dienstkonfiguration

Externe IP-Adresskonfiguration

Eine externe IP-Adresse für den Dienst vom Typ LoadBalancer kann mit einer der folgenden Methoden abgerufen werden.

  • Geben Sie die service.citrix.com/frontend-ip Anmerkung in der Servicespezifikation wie folgt an.

     metadata:
         annotations:
             service.citrix.com/frontend-ip: 172.217.163.17
    
  • Angabe einer IP-Adresse im spec.loadBalancerIP Bereich der Dienstspezifikation wie folgt.

     spec:
         loadBalancerIP: 172.217.163.17
    
  • Durch automatisches Zuweisen einer virtuellen IP-Adresse zum Dienst mithilfe des von Citrix bereitgestellten IPAM-Controllers. Wenn eine der beiden anderen Methoden angegeben ist, hat diese Methode Vorrang vor dem IPAM-Controller. Die IPAM-Lösung ist so konzipiert, dass Sie die Lösung problemlos in externe DNS-Anbieter wie Infoblox integrieren können. Weitere Informationen finden Sie unter Interoperabilität mit ExternalDNS. Informationen zur Bereitstellung und Verwendung des Citrix IPAM-Controllers finden Sie in der Dokumentation.

Konfiguration der Serviceannotation

Der Citrix Ingress Controller bietet viele Dienstanmerkungen, um die verschiedenen Funktionen des Citrix ADC zu nutzen. Der Standarddiensttyp für den virtuellen Lastausgleichsserver ist beispielsweise TCP, Sie können diese Konfiguration jedoch durch die service.citrix.com/service-type Anmerkung überschreiben.

metadata:
    annotations:
        service.citrix.com/service-type-0: 'HTTP'
        service.citrix.com/service-type-1: 'SSL'

Mithilfe verschiedener Anmerkungen, die vom Citrix Ingress Controller bereitgestellt werden, können Sie verschiedene ADC-Funktionen wie SSL-Offloading, HTTP-Rewrite- und Responder-Richtlinien und andere Custom Resource Definition (CRDs) nutzen.

Weitere Informationen zu allen Anmerkungen für Service vom Typ LoadBalancer finden Sie unter Service-Anmerkungen.

Informationen zur Verwendung geheimer Ressourcen für SSL-Zertifikate für Dienste vom Typ LoadBalancer finden Sie unter SSL-Zertifikat für Dienste vom Typ LoadBalancer.

Konfiguration der externen Verkehrsrichtlinie

Standardmäßig fügt der Citrix Ingress Controller alle Service-Pods als Back-End für den virtuellen Lastausgleichsdienst in Citrix ADC CPX hinzu. Dieser Schritt gewährleistet eine bessere Hochverfügbarkeit und eine gleichmäßige Verteilung auf die Service-Pod-Instanzen. Alle Knoten, auf denen Citrix ADC CPX ausgeführt wird, kündigen die Routen zum Upstream-Server an und ziehen den Datenverkehr vom Router an. Dieses Verhalten kann geändert werden, indem der spec.externalTrafficPolicy des Dienstes auf gesetzt wird Local. Wenn die Richtlinie für externen Datenverkehr auf festgelegt ist Local, werden nur die Pods, die im selben Knoten ausgeführt werden, als Back-End für den virtuellen Lastausgleichsserver hinzugefügt, wie im folgenden Diagramm dargestellt. In diesem Modus kündigen nur die Knoten, die über die Service-Pods verfügen, die externe IP-Adresse an den Router an, und CPX sendet den Datenverkehr nur an die lokalen Pods. Wenn Sie aus Leistungsgründen nicht möchten, dass der Datenverkehr über die Knoten springt, können Sie diese Funktion verwenden.

ExternaL-traffic-policy: Local

Ingress-Ressourcen verwenden

Der Citrix Ingress Controller stellt eine Variable nt bereit NS_VIP, bei der es sich um die externe IP-Adresse für alle eingehenden Ressourcen handelt. Immer wenn eine Eingangsressource hinzugefügt wird, gibt Citrix ADC CPX die Ingress-IP-Adresse den externen Routern bekannt. Der Citrix Ingress Controller bietet verschiedene Anmerkungen für Ingress. Weitere Informationen finden Sie in der Dokumentation zu Ingress-Anmerkungen.

Führen Sie die folgenden Schritte für die Ingress-Konfiguration aus:

  1. Laden Sie die Datei rbac.yaml herunter und stellen Sie die RBAC-Regeln für Citrix ADC CPX und den Citrix Ingress Controller bereit.

        kubectl apply -f rbac.yaml
    
  2. Laden Sie die citrix-k8s-cpx-ingress.yml mit dem folgenden Befehl herunter.

    wget  https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/docs/configure/cpx-bgp-router/citrix-k8s-cpx-ingress.yml
    
  3. Bearbeiten Sie die Datei citrix-k8s-cpx-ingress.yml und geben Sie die erforderlichen Werte an.

    • Das Argument –configmap gibt den ConfigMap-Speicherort für den Citrix Ingress Controller in Form von Namespace oder Name an.

    • Die Umgebungsvariable NS_VIP zur Angabe der externen IP, die für alle Ingress-Ressourcen verwendet werden soll. (Dies ist ein erforderlicher Parameter).

  4. Wenden Sie die Datei citrix-k8s-cpx-ingress.yml an, um ein Daemonset zu erstellen, das Citrix ADC CPX und den Citrix Ingress Controller startet.

      kubectl apply -f citrix-k8s-cpx-ingress.yml  
    
  5. Konfigurieren Sie BGP mit ConfigMap wie im vorherigen Abschnitt gezeigt.

  6. Stellen Sie eine Beispielressource für Eingangsdaten wie folgt bereit. Dieser Schritt gibt die in der NS_VIP Umgebungsvariable angegebene IP-Adresse an den in ConfigMap konfigurierten externen Router bekannt.

    kubectl apply -f https://raw.githubusercontent.com/citrix/citrix-k8s-ingress-controller/master/docs/configure/cpx-bgp-router/ingress-example.yaml 
    
  7. Rufen Sie die Anwendung mit auf NS_VIP:<port>. Standardmäßig verwendet Ingress Port 80 für unsichere Kommunikation und Port 443 für sichere Kommunikation (falls TLS-Abschnitt bereitgestellt wird).

Hinweis: Derzeit wird die ingress.citrix.com/frontend-ip Anmerkung nicht für BGP-Ankündigungen unterstützt.

Ruder-Anlage

Sie können Helm-Diagramme verwenden, um den Citrix ADC CPX als BGP-Router zu installieren. Weitere Informationen finden Sie in der Citrix Helm-Diagrammdokumentation.

Problembehandlung

  • Standardmäßig. Citrix ADC CPX verwendet den IP-Adressbereich 192.168.1.0/24 für die interne Kommunikation, die IP-Adresse 192.168.1.1 als internes Gateway zum Host und die IP-Adresse 192.168.1.2 als NSIP. Die Ports 9080 und 9443 werden als Management-Ports zwischen dem Citrix Ingress Controller und Citrix ADC CPX für HTTP und HTTPS verwendet. Wenn das 192.168.1.0/24-Netzwerk in den Bereich von PodCIDR fällt, können Sie einen anderen Satz von IP-Adressen für die interne Kommunikation zuweisen. Die NS_GATEWAY Umgebungsvariablen NS_IP und steuern, welche IP-Adresse von Citrix ADC CPX für NSIP bzw. Gateway verwendet wird. Dieselbe IP-Adresse muss auch als Teil der Umgebungsvariablen Citrix Ingress Controller angegeben werden, NS_IP um die Kommunikation zwischen dem Citrix Ingress Controller und Citrix ADC CPX herzustellen.

  • Standardmäßig läuft BGP auf Citrix ADC CPX auf Port 179 und der gesamte BGP-Verkehr, der zum TCP-Port 179 kommt, wird von Citrix ADC CPX verarbeitet. Wenn es einen Konflikt gibt, z. B. wenn Sie die externe BGP-Peering-Funktion von Calico verwenden, um Ihre Clusterpräfixe über BGP anzukündigen, können Sie den BGP-Port mit der Umgebungsvariablen in den Citrix Ingress Controller ändern BGP_PORT.

  • Die Verwendung des Quell-IP-Modus (USIP) von Citrix ADC funktioniert aufgrund der Einschränkungen in Kubernetes nicht. Wenn die Quell-IP-Adresse vom Dienst benötigt wird, können Sie die CIP-Funktion (Client-IP-Header) in den Diensten vom Typ HTTP/SSL-Dienst mithilfe der folgenden Anmerkungen aktivieren.

    service.citrix.com/servicegroup: ‘{“cip” :”ENABLED”, “Cipheader”:” x-forwarded-for”}’

BGP-Ankündigung externer IP-Adressen für Dienste und Inresses vom Typ LoadBalancer mit Citrix ADC CPX