Application Delivery Management

Detaillierte Verfahren zur Einrichtung einer Dual-Tier- oder Service-Mesh-Topologie

Softwareanforderungen

Kubernetes-Distribution Kubernetes-Version Container-Netzwerkschnittstellen (CNI) CPX-Version CIC-Version NetScaler ADM-Version NetScaler ADM Agent-Version
Open Source v1.16.3 Flanell 13.0–41.28 1.5.25 13.0–47.22 13.0–47.22

Voraussetzungen

Sie können Service-Graph in den folgenden Szenarien anzeigen:

  • NetScaler ADM und Kubernetes-Cluster im selben Netzwerk (z. B. NetScaler ADM und Kubernetes-Cluster, die auf Citrix Hypervisor gehostet werden).

  • NetScaler ADM und Kubernetes Cluster in einem anderen Netzwerk. In diesem Szenario müssen Sie einen lokalen Agenten konfigurieren und den Agenten im Netzwerk registrieren, in dem der Kubernetes-Cluster gehostet wird.

Um das Dienstdiagramm in NetScaler ADM zu verwenden, stellen Sie sicher, dass Sie Folgendes haben:

Softwareanforderungen

Kubernetes-Distribution Kubernetes-Version Container-Netzwerkschnittstellen (CNI) CPX-Version CIC-Version NetScaler ADM-Version NetScaler ADM Agent-Version
Open Source v1.16.3 Flanell 13.0–41.28 1.5.25 13.0–47.22 13.0–47.22

Voraussetzungen

Sie können Service-Graph in den folgenden Szenarien anzeigen:

  • NetScaler ADM und Kubernetes-Cluster im selben Netzwerk (z. B. NetScaler ADM und Kubernetes-Cluster, die auf Citrix Hypervisor gehostet werden).

  • NetScaler ADM und Kubernetes Cluster in einem anderen Netzwerk. In diesem Szenario müssen Sie einen lokalen Agenten konfigurieren und den Agenten im Netzwerk registrieren, in dem der Kubernetes-Cluster gehostet wird.

Um das Dienstdiagramm in NetScaler ADM zu verwenden, stellen Sie sicher, dass Sie Folgendes haben:

Konfigurieren statischer Routen in NetScaler ADM

Innerhalb des Kubernetes-Clusters verwenden alle containerisierten Pods ein Overlay-Netzwerk. Der direkte Aufbau der Kommunikation über diese privaten IP-Adressen ist nicht möglich. Um die Kommunikation von Citrix ADM zum Kubernetes-Cluster zu ermöglichen, müssen Sie statisches Routing in Citrix ADM konfigurieren.

Hinweis

Wenn Sie einen lokalen Agenten verwenden, stellen Sie sicher, dass Sie statische Routen auf dem Agenten konfigurieren. Melden Sie sich mit einem SSH-Client beim Citrix ADM Agent an und konfigurieren Sie die statischen Routen.

Beachten Sie, dass Sie die folgenden IP-Adressen für Ihren Kubernetes-Cluster haben:

  • Kubernetes-Meister — 101.xx.xx.112

  • Kubernetes Arbeiter 1 — 101.xx.xx.111

  • Kubernetes Arbeiter 2 — 101.xx.xx.110

Führen Sie auf dem Kubernetes-Master den folgenden Befehl aus, um das Pod-Netzwerk für das statische Routing zu identifizieren:

kubectl get nodes -o jsonpath="{range .items[*]}{'podNetwork: '}{.spec.podCIDR}{'\t'}{'gateway: '}{.status.addresses[0].address}{'\n'}{end}"

Das Folgende ist eine Beispielausgabe, nachdem Sie den Befehl ausgeführt haben:

Beispiel (Befehl)

  1. Melden Sie sich mit einem SSH-Client bei NetScaler ADM an

  2. Konfigurieren Sie das statische Routing mit dem Befehlroute add -net <public IP address range> <Kubernetes IP address>

    Beispiel:

    route add -net 192.168.0.0/24 101.xx.xx.112

    route add -net 192.168.1.0/24 101.xx.xx.111

    route add -net 192.168.2.0/24 101.xx.xx.110

  3. Überprüfen Sie die Konfiguration mit netstat -rn

    statisches Routing

  4. Hängen Sie diese Route-Befehle an die Datei /mpsconfig/svm.conf an.

    1. Greifen Sie in Citrix ADM mit dem folgenden Befehl auf die Datei svm.conf zu:

      vim /mpsconfig/svm.conf

    2. Fügen Sie die statischen Routen in die Datei svm.conf ein.

      Beispiel: route add -net 192.168.0.0/24 101.xx.xx.112.

Laden Sie die Beispielbereitstellungsdateien von GitHub herunter

  1. Verwenden Sie den Befehl git clone https://github.com/citrix/citrix-k8s-ingress-controller.git, um das Git-Hub-Repository im Master-Knoten zu klonen.

  2. Um auf die YAMLs zuzugreifen:

    cd citrix-k8s-ingress-controller/example/servicegraph-demo/

Hinzufügen von Parametern in der CPX-YAML-Datei

Hinweis

Wenn Sie CPX 58.x oder höher verwenden, müssen Sie bei der Registrierung beim ADM-Agenten das Nicht-nsroot-Kennwort verwenden. Um die Sicherheit zu gewährleisten, muss NetScaler ADM Agent 61.x oder höher eine obligatorische Kennwortänderung vorgenommen werden. Wenn Ihr NetScaler ADM Agent auf 61.x oder die neueste Version aktualisiert wird, müssen Sie sicherstellen, dass Sie CPX 58.x oder höher verwenden.

Sie müssen die folgenden Parameter in die cpx.yamlDatei aufnehmen, um die CPX-Registrierung bei NetScaler ADM sicherzustellen:

- name: "NS_MGMT_SERVER"
  value: "xx.xx.xx.xx"
- name: "NS_MGMT_FINGER_PRINT"
  value: "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
- name: "NS_HTTP_PORT"
  value: "9080"
- name: "NS_HTTPS_PORT"
  value: 9443"
- name: "NS_MGMT_USER"
  value: "nsroot"
- name: "NS_MGMT_PASS"
  value: <your password>
- name: "LOGSTREAM_COLLECTOR_IP"
  value: "xx.xx.xx.xx"

<!--NeedCopy-->
  • NS_MGMT_SERVER — Gibt die NetScaler ADM IP-Adresse an

    Hinweis

    Wenn ADM Agent verwendet wird, zeigt dies die lokale Agenten-IP-Adresse an.

  • NS_MGMT_FINGER_PRINT — Gibt die Authentifizierung für CPX in NetScaler ADM an. So erhalten Sie den Fingerabdruck:

    1. Navigieren Sie in Citrix ADM zuSystem> Administration

    2. Klicken Sie unter Systemkonfigurationenauf ADM-Fingerabdruck anzeigen.

      Fingerprint

      Hinweis:

      Wenn Sie einen lokalen Agenten konfiguriert haben, navigieren Sie zu Netzwerke > Agenten, wählen Sie den Agentenaus und klicken Sie dann auf Fingerabdruck anzeigen.

      Fingerabdruck-Agent

  • NS_HTTP_PORT — Gibt den HTTP-Port für die Kommunikation an

  • NS_HTTPS_PORT — Gibt den HTTPS-Port für die Kommunikation an

  • NS_MGMT_USER - Gibt den Benutzernamen an

  • NS_MGMT_PASS - Gibt das Kennwort an. Geben Sie ein Kennwort Ihrer Wahl an

  • LOGSTREAM_COLLECTOR_IP — Gibt die IP-Adresse des NetScaler ADM-Agenten an, bei der das Logstream-Protokoll aktiviert sein muss, um Protokolldaten von CPX nach ADM zu übertragen

Fügen Sie eine VPX- oder SDX- oder MPX- oder BLX-Instanz in NetScaler ADM hinzu

Um die Tier-1-ADC-Instanzanalyse im Service-Graphen abzurufen, müssen Sie die VPX/SDX/MPX/BLX-Instanz in NetScaler ADM hinzufügen und Web Insightaktivieren.

  1. Navigieren Sie zu Netzwerke > Instanzen > NetScaler ADC

  2. Klicken Sie auf die Option Hinzufügen, um die Instanz hinzuzufügen. Weitere Informationen finden Sie unter Instanzen in NetScaler ADM hinzufügen

  3. Nachdem Sie die Instanz hinzugefügt haben, wählen Sie den virtuellen Server aus und aktivieren Sie Web Insight. Weitere Informationen finden Sie unter Verwalten der Lizenzierung und Aktivieren von Analysen auf virtuellen Servern

Hinzufügen von Kubernetes-Cluster in NetScaler ADM

So fügen Sie den Kubernetes-Cluster hinzu:

  1. Melden Sie sich mit Administratoranmeldeinformationen bei NetScaler ADM an.

  2. Navigieren Sie zu Orchestration > Kubernetes > Cluster. Die Seite “Cluster” wird angezeigt.

  3. Klicken Sie auf Hinzufügen.

  4. Geben Sie auf der Seite Cluster hinzufügen die folgenden Parameter an:

    1. Name - Geben Sie einen Namen Ihrer Wahl an.

    2. API-Server-URL — Sie können die API-Server-URL-Details vom Kubernetes-Master-Knoten abrufen.

      1. Führen Sie auf dem Kubernetes-Masterknoten den Befehl aus kubectl cluster-info.

        API-Server-URL

      2. Geben Sie die URL ein, die für Kubernetes Master läuft unter angezeigt wird.

    3. Authentifizierungstoken — Geben Sie das Authentifizierung Das Authentifizierungstoken ist erforderlich, um den Zugriff für die Kommunikation zwischen dem Kubernetes-Cluster und NetScaler ADM So generieren Sie ein Authentifizierungstoken:

      Auf dem Kubernetes-Master-Knoten:

      1. Verwenden Sie die folgende YAML, um ein Dienstkonto zu erstellen:

        apiVersion: v1
        kind: ServiceAccount
        metadata:
          name: <name>
          namespace: <namespace>
        <!--NeedCopy-->
        
      2. Führen Sie kubectl create -f <yaml file> aus.

        Das Dienstkonto wird erstellt.

      3. Wird ausgeführt kubectl create clusterrolebinding <name> --clusterrole=cluster-admin --serviceaccount=<namespace>:<name>, um die Clusterrolle an das Dienstkonto zu binden.

        Das Dienstkonto hat jetzt den clusterweiten Zugriff.

        Beim Erstellen des Dienstkontos wird automatisch ein Token generiert.

      4. Lauf kubectl describe sa <name>, um das Token anzuzeigen.

      5. Um die geheime Zeichenfolge zu erhalten, führen Sie aus kubectl describe secret <token-name>.

        Generieren des Token

    4. Wählen Sie den Agent aus der Liste aus.

      Hinweis

      Wenn Sie einen On-Prem-Agenten verwenden, wählen Sie denselben Agenten aus, den Sie in der CPX YAML hinzugefügt haben.

    5. Klicken Sie auf Erstellen.

      Cluster hinzufügen

Bereitstellen einer Microservice-Beispielanwendung

Auf dem Master-Knoten:

  1. Führen Sie aus kubectl create -f namespace.yaml, um einen Namespace zu erstellen.

  2. Stellen Sie hotdrink Microservices, Ingress und Secrets mithilfe der folgenden Befehle bereit:

    kubectl create -f team_hotdrink.yaml -n sg-demo

    kubectl create -f hotdrink-secret.yaml -n sg-demo

Bereitstellen von CPX und Registrieren von CPX in ADM

  1. Wird ausgeführt kubectl create -f rbac.yaml, um Clusterrolle und Clusterbindung bereitzustellen.

  2. Führen Sie kubectl create -f cpx.yaml -n sg-demodie Bereitstellung von CPX aus.

Nach der Bereitstellung erfolgt die CPX-Registrierung automatisch.

Aktivieren der automatischen Auswahl virtueller Server für die Lizenzierung

Hinweis

Stellen Sie sicher, dass Sie über ausreichende Lizenzen für virtuelle Server verfügen. Weitere Informationen finden Sie unter Lizenzierung

Nachdem Sie Kubernetes-Cluster in NetScaler ADM hinzugefügt haben, müssen Sie sicherstellen, dass virtuelle Server für die Lizenzierung automatisch ausgewählt werden. Virtuelle Server müssen für die Anzeige von Daten in Service Graph lizenziert sein. So wählen Sie virtuelle Server automatisch aus:

  1. Navigieren Sie zu System > Lizenzierung und Analytics.

  2. Aktivieren Sie unter Virtual Server License Summarydie Option Automatische Auswahl virtueller Server und Automatische Auswahl nicht adressierbarer virtueller Server.

    Virtuellen Server automatisch auswählen

Web-Transaktion und TCP-Transaktionseinstellungen aktivieren

Nachdem Sie den Kubernetes-Cluster hinzugefügt und die automatische Auswahl virtueller Server aktiviert haben, ändern Sie die Einstellungen für Webtransaktionen und TCP-Transaktionen in Alle.

  1. Navigieren Sie zu Analytics > Einstellungen.

    Die Seite “Einstellungen “ wird angezeigt.

  2. Klicken Sie auf Features für Analytics aktivieren.

  3. Wählen Sie unter Web-Transaktionseinstellungendie Option Alleaus.

    web-transaction-settings

  4. Wählen Sie unter TCP-Transaktionseinstellungendie Option Alle.

    TCP

  5. Klicken Sie auf OK.

Traffic an Microservices senden

Als Nächstes müssen Sie Datenverkehr an Microservices senden, um das Dienstdiagramm in NetScaler ADM zu erhalten.

  1. Wird ausgeführt kubectl get svc -n sg-demo, um CPX über NodePort verfügbar zu machen.

    NodePort

  2. Bearbeiten Sie die Datei etc/host und erstellen Sie einen Domänen-IP-Eintrag für hotdrink.beverages.com

    Sie können jetzt auf den Microservice zugreifen, indem Sie https://hotdrink.beverages.com