Application Delivery Management

Verwalten Sie die Kubernetes Ingress-Konfiguration in NetScaler Console

Kubernetes (K8s) ist eine Open Source-Container-Orchestrierungsplattform, die die Bereitstellung, Skalierung und Verwaltung von Cloud-nativen Anwendungen automatisiert.

Kubernetes bietet die Ingress-Funktion, mit der Clientdatenverkehr außerhalb des Clusters auf Microservices einer Anwendung zugreifen kann, die innerhalb des Kubernetes-Clusters ausgeführt wird. NetScaler-Instanzen können als Ingress für Anwendungen dienen, die in einem Kubernetes-Cluster ausgeführt werden. NetScaler-Instanzen können den Lastenausgleich durchführen und Inhalte den Nord-Süd-Verkehr von den Clients an alle Microservices innerhalb des Kubernetes-Clusters weiterleiten.

Hinweis

  • NetScaler Console unterstützt die Ingress-Funktion auf den Clustern mit Kubernetes-Version 1.14—1.21.
  • NetScaler Console unterstützt NetScaler VPX- und MPX-Appliances als Ingress-Geräte.
  • In der Kubernetes-Umgebung gleicht die NetScaler-Instanzlast nur den Diensttyp “NodePort” aus.

Sie können mehrere NetScaler-Instanzen so konfigurieren, dass sie als Ingress-Geräte auf demselben Cluster oder in verschiedenen Clustern oder Namespaces agieren. Nachdem Sie die Instanzen konfiguriert haben, können Sie jede Instanz basierend auf der Ingress-Richtlinie verschiedenen Anwendungen zuweisen.

Sie können eine Ingress-Konfiguration mit Kubernetes kubectl oder APIs erstellen und bereitstellen. Sie können Ingress auch von der NetScaler Console aus konfigurieren und bereitstellen.

Sie können die folgenden Aspekte der Kubernetes-Integration in NetScaler Console angeben:

  • Cluster — Sie können Kubernetes-Cluster registrieren oder die Registrierung aufheben, für die NetScaler Console Ingress-Konfigurationen bereitstellen kann. Wenn Sie einen Cluster in NetScaler Console registrieren, geben Sie die Kubernetes-API-Serverinformationen an. Wählen Sie dann einen Agenten aus, der den Kubernetes-Cluster erreichen und Ingress-Konfigurationen bereitstellen kann.

  • Richtlinien — Ingress-Richtlinien werden verwendet, um die NetScaler-Instanz basierend auf Cluster oder Namespace auszuwählen, um eine Ingress-Konfiguration bereitzustellen. Geben Sie die Cluster-, Site- und Instanzinformationen an, wenn Sie eine Richtlinie hinzufügen.

Voraussetzungen

Um NetScaler-Instanzen als Ingress-Geräte in Kubernetes-Clustern zu verwenden, stellen Sie sicher, dass Sie Folgendes haben:

  • Kubernetes Cluster an Ort und Stelle.

  • Kubernetes-Cluster, der in NetScaler Console registriert ist.

Konfigurieren Sie die NetScaler Console mit einem geheimen Token zur Verwaltung eines Kubernetes-Clusters

Damit NetScaler Console Ereignisse von Kubernetes empfangen kann, müssen Sie in Kubernetes für NetScaler Console ein Dienstkonto erstellen. Konfigurieren Sie das Dienstkonto mit den erforderlichen RBAC-Berechtigungen im Cluster.

  1. Erstellen Sie ein Dienstkonto für NetScaler Console. Beispielsweise kann der Name des Dienstkontos seincitrixadm-sa. Informationen zum Erstellen eines Dienstkontos finden Sie unter Verwenden mehrerer Dienstkonten.

  2. Verwenden Sie die cluster-admin Rolle, um das NetScaler Console-Dienstkonto zu binden. Diese Bindung gewährt einem Dienstkonto eine clusterübergreifende ClusterRole. Im Folgenden finden Sie einen Beispielbefehl zum Binden einer cluster-admin-Rolle an das Dienstkonto.

    kubectl create clusterrolebinding citrixadm-sa-admin --clusterrole=cluster-admin --serviceaccount=default:citrixadm-sa
    <!--NeedCopy-->
    

    Nachdem das NetScaler Console-Dienstkonto an die cluster-admin Rolle gebunden wurde, hat das Dienstkonto clusterweiten Zugriff. Weitere Informationen finden Sie unter kubectl create clusterrolebinding.

  3. Beziehen Sie das Token aus dem erstellten Dienstkonto.

    Führen Sie beispielsweise den folgenden Befehl aus, um das Token für das Dienstkonto citrixadm-sa anzuzeigen:

    kubectl describe sa citrixadm-sa
    <!--NeedCopy-->
    
  4. Führen Sie den folgenden Befehl aus, um die geheime Zeichenfolge des Tokens abzurufen:

    kubectl describe secret <token-name>
    <!--NeedCopy-->
    

Fügen Sie den Kubernetes-Cluster in NetScaler Console hinzu

Nachdem Sie einen NetScaler Agent konfiguriert und statische Routen konfiguriert haben, müssen Sie den Kubernetes-Cluster in der NetScaler Console registrieren.

So registrieren Sie den Kubernetes-Cluster:

  1. Melden Sie sich mit Administratoranmeldeinformationen an der NetScaler Console 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-Hauptknoten abrufen.

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

        API-Server-URL

      2. Geben Sie die URL ein, die für Kubernetes master is running at angezeigt wird.

    3. Authentifizierungstoken— Geben Sie die Zeichenfolge für das Authentifizierungstoken an, die Sie erhalten haben, während Sie NetScaler Console für die Verwaltung eines Kubernetes-Clusters konfigurieren . Das Authentifizierungstoken ist erforderlich, um den Zugriff für die Kommunikation zwischen dem Kubernetes-Cluster und NetScaler Console zu validieren. So generieren Sie ein Authentifizierungstoken:

      1. Führen Sie auf dem Hauptknoten von Kubernetes die folgenden Befehle aus:

        kubectl describe secret <token-name>
        <!--NeedCopy-->
        
      2. Kopieren Sie das generierte Token und fügen Sie es als Authentifizierungstoken ein

        Weitere Informationen finden Sie in der Kubernetes-Dokumentation.

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

    5. Klicken Sie auf Erstellen.

      Cluster hinzufügen

Verwalten Sie die Kubernetes Ingress-Konfiguration in NetScaler Console