Application Delivery Management

Verwalten der Kubernetes Ingress-Konfiguration in NetScaler® ADM

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

Kubernetes bietet die Ingress-Funktion, die es dem Client-Traffic außerhalb des Clusters ermöglicht, auf Microservices einer Anwendung zuzugreifen, die innerhalb des Kubernetes-Clusters ausgeführt wird. ADC-Instanzen können als Ingress für Anwendungen fungieren, die innerhalb eines Kubernetes-Clusters ausgeführt werden. ADC-Instanzen können den Nord-Süd-Traffic von den Clients zu beliebigen Microservices innerhalb des Kubernetes-Clusters lastverteilen und inhaltsbasiert routen.

Hinweis

  • NetScaler ADM unterstützt die Ingress-Funktion auf Clustern mit Kubernetes-Version 1.14–1.21.
  • NetScaler ADM unterstützt NetScaler VPX- und MPX-Appliances als Ingress-Geräte.
  • In der Kubernetes-Umgebung lastverteilt die NetScaler-Instanz nur den Diensttyp “NodePort”.

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

Sie können eine Ingress-Konfiguration mithilfe von Kubernetes kubectl oder APIs erstellen und bereitstellen. Sie können auch einen Ingress über NetScaler ADM konfigurieren und bereitstellen.

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

  • Cluster – Sie können Kubernetes-Cluster registrieren oder deregistrieren, für die ADM Ingress-Konfigurationen bereitstellen kann. Wenn Sie einen Cluster in NetScaler ADM registrieren, geben Sie die Informationen des Kubernetes API-Servers an. Wählen Sie dann einen ADM-Agenten aus, der den Kubernetes-Cluster erreichen und Ingress-Konfigurationen bereitstellen kann.

  • Richtlinien – Ingress-Richtlinien werden verwendet, um die ADC-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.

Bevor Sie beginnen

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

  • Einen vorhandenen Kubernetes-Cluster.

  • Einen in NetScaler ADM registrierten Kubernetes-Cluster.

Konfigurieren von NetScaler ADM mit einem geheimen Token zur Verwaltung eines Kubernetes-Clusters

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

  1. Erstellen Sie ein Dienstkonto für NetScaler ADM. Der Name des Dienstkontos kann beispielsweise citrixadm-sa lauten. Informationen zum Erstellen eines Dienstkontos finden Sie unter Use Multiple Service Accounts.

  2. Verwenden Sie die Rolle cluster-admin, um das NetScaler ADM-Dienstkonto zu binden. Diese Bindung gewährt einem Dienstkonto eine ClusterRole über den gesamten Cluster. Im Folgenden finden Sie ein 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 ADM-Dienstkonto an die Rolle cluster-admin gebunden wurde, hat das Dienstkonto clusterweiten Zugriff. Weitere Informationen finden Sie unter kubectl create clusterrolebinding.

  3. Rufen Sie das Token vom erstellten Dienstkonto ab.

    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-->
    

Hinzufügen des Kubernetes-Clusters in NetScaler ADM

Nachdem Sie einen NetScaler-Agenten konfiguriert und statische Routen eingerichtet haben, müssen Sie den Kubernetes-Cluster in NetScaler ADM registrieren.

So registrieren Sie den Kubernetes-Cluster:

  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 Details der API-Server-URL vom Kubernetes-Hauptknoten abrufen.

      1. Führen Sie auf dem Kubernetes-Hauptknoten 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 Authentifizierungstoken-Zeichenfolge an, die Sie beim Konfigurieren von NetScaler ADM zur Verwaltung eines Kubernetes-Clusters erhalten haben. Das Authentifizierungstoken ist erforderlich, um den Zugriff für die Kommunikation zwischen dem Kubernetes-Cluster und NetScaler ADM zu validieren. So generieren Sie ein Authentifizierungstoken:

      1. Führen Sie auf dem Kubernetes-Hauptknoten 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 Agenten aus der Liste aus.

    5. Klicken Sie auf Erstellen.

      Cluster hinzufügen

Verwalten der Kubernetes Ingress-Konfiguration in NetScaler® ADM