Citrix ADC Ingress Controller

Verkehrsmanagement für externe Dienste

Manchmal werden möglicherweise nicht alle verfügbaren Dienste einer Anwendung vollständig auf einem einzelnen Kubernetes-Cluster bereitgestellt. Möglicherweise haben Sie auch Anwendungen, die auf die Dienste außerhalb eines Clusters angewiesen sind. In diesem Fall müssen Mikrodienste einen ExternalName-Dienst definieren, um den Domainnamen aufzulösen. Bei diesem Ansatz können Sie jedoch keine Funktionen wie Verkehrsmanagement, Richtliniendurchsetzung, Failover-Verwaltung usw. erhalten. Als Alternative können Sie Citrix ADC so konfigurieren, dass die Domänennamen aufgelöst und die Funktionen von Citrix ADC genutzt werden.

Konfigurieren Sie Citrix ADC, um externe Dienste zu erreichen

Sie können Citrix ADC mit dem Citrix Ingress Controller als Domänennamen-Resolver konfigurieren. Wenn Sie Citrix ADC als Domainnamen-Resolver konfigurieren, müssen Sie Folgendes auflösen:

  • Erreichbarkeit von Citrix ADC über Microservices
  • Domainnamenauflösung bei Citrix ADC, um externe Dienste zu erreichen

Konfigurieren Sie einen Dienst für Erreichbarkeit vom Kubernetes-Cluster zu Citrix ADC

Um Citrix ADC von Microservices aus zu erreichen, müssen Sie einen Headless-Dienst definieren, der in einen Citrix ADC-Dienst aufgelöst wird und somit die Konnektivität zwischen Microservices und Citrix ADC herstellt.

apiversion: v1
kind: Service
metadata: 
  name: external-svc
spec:
  selector:
    app: cpx
  ports:
    - protocol: TCP
      port: 80

Konfigurieren Sie Citrix ADC mit dem Citrix Ingress Controller als Domänennamen-Resolver

Sie können Citrix ADC über den Citrix Ingress Controller konfigurieren, um mithilfe der Ingress-Annotation eine domänenbasierte Dienstgruppe zu erstellen ingress.citrix.com/external-service. Der Wert für ingress.citrix.com/external-service ist eine Liste von externen Namensdiensten mit ihren entsprechenden Domainnamen. Für Citrix ADC VPX werden Nameserver mit der ConfigMap auf Citrix ADC konfiguriert.

Hinweis:

ConfigMaps werden zur Konfiguration von Nameservern auf Citrix ADC nur für Citrix ADC VPX verwendet. Für Citrix ADC CPX leitet CoreDNS die Anforderung der Namensauflösung an den DNS-Server der Originalautoren weiter.

Verkehrsmanagement mit Citrix ADC CPX

Das folgende Diagramm erklärt die Citrix ADC CPX-Bereitstellung, um externe Dienste zu erreichen. Ein Ingress wird bereitgestellt, in dem die Anmerkung des externen Dienstes angegeben ist, um DNS auf Citrix ADC CPX zu konfigurieren.

Hinweis: Eine ConfigMap wird verwendet, um Nameserver auf Citrix ADC VPX zu konfigurieren.

Verkehrsmanagement mit Citrix ADC CPX

In dieser Bereitstellung gilt:

  1. Ein Microservice sendet die DNS-Abfrage für www.externalsvc.com, die in den Citrix ADC CPX-Dienst aufgelöst werden würde.
  2. Citrix ADC CPX löst www.externalsvc.com auf und erreicht den externen Dienst.

Im Folgenden finden Sie die Schritte zum Konfigurieren von Citrix ADC CPX für den Lastenausgleich externer Dienste:

  1. Definieren Sie einen Headless-Dienst, um Citrix ADC zu erreichen.

    apiVersion: v1
    kind: Service
    metadata:
      name: external-svc
    spec:
      selector:
        app: cpx
      ports:
        - protocol: TCP
          port: 80
    
  2. Definieren Sie einen Ingress und geben Sie die Anmerkung für den externen Service an, wie in der Datei dbs-ingress.yaml angegeben. Wenn Sie diese Anmerkung angeben, erstellt Citrix Ingress Controller DNS-Server auf Citrix ADC und bindet die Server an die entsprechende Dienstgruppe.

        annotations:
          ingress.citrix.com/external-service: '{"external-svc": {"domain": "www.externalsvc.com"}}'
    
  3. Fügen Sie die IP-Adresse des DNS-Servers auf Citrix ADC mit ConfigMap hinzu.

    Hinweis:

    Dieser Schritt gilt nur für Citrix ADC VPX.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: nameserver-cmap
      namespace: default
    data:
      NS_DNS_NAMESERVER: '[]'
    <!--NeedCopy-->
    
Verkehrsmanagement für externe Dienste