Citrix NetScaler via PowerShell automatisieren

Dynamisches Loadbalancing

Einen Citrix NetScaler einmalig über die Web UI oder das Command Line Interface zu konfigurieren, stellt keine große Herausforderung dar. Da jedoch der NetScaler nicht mehr so ein statisches Dasein führt wie in früheren Tagen, ist auch hier die automatisierte Bereitstellung und Konfiguration zunehmend ein Thema. Wir erledigen dies mit der PowerShell und der Nitro API.
Sich wiederholende Aufgaben sind mühselig und fehleranfällig, wenn sie von Hand ausgeführt werden. Im August befasst sich IT-Administrator deshalb mit dem ... (mehr)

Traditionell war die Ansicht verbreitet, dass ein NetScaler nach seiner Ersteinrichtung keine wesentliche zusätzliche Konfiguration benötigt. Soll er keine weiteren Dienste anbieten, benötigt er außer Sicherheitsupdates eigentlich keiner weiteren Aufmerksamkeit und versieht seinen Dienst meist klaglos.

Mittlerweile ist diese Aussage aber nur noch bedingt richtig: Durch die zahlreichen Funktionen, die die aktuelle NetScaler-Version mitbringt, ist es sinnvoll, gelegentlich zu überprüfen, ob ein bestehender Dienst vom NetScaler profitieren kann. Denkbar wäre zum Beispiel, weitere Webserver automatisiert zu einem virtuellen Loadbalancing-Service hinzuzufügen, wenn Kapazitätsgrenzen erreicht werden, oder natürlich der automatisierte Aufbau einer Testumgebung. Per PowerShell lassen sich auf einem Hypervisor relativ schnell weitere Server automatisiert anlegen, konfigurieren und starten. Und wenn wir schon diesen Weg gehen, können wir diese Server auch gleich in einen Loadbalancing-Prozess auf einem NetScaler integrieren oder sogar NetScaler selbst automatisiert bereitstellen und konfigurieren.

Wir wollen diese Automatisierung über die Nitro API realisieren. Diese API können Sie mit fast allen gängigen Programmiersprachen wie Java, Python, C# oder natürlich mit der Microsoft PowerShell nutzen. Bevor wir uns aber an die PowerShell-Beispiele machen, schauen wir uns doch zuerst einmal die Nitro API etwas genauer an.

Nitro API erklärt

Die Nitro API ist als Schnittstelle in jedem NetScaler integriert. Dabei handelt es sich um eine auf REST [1] basierende API [2], die wir über ein verbindungsloses Protokoll – in diesem Fall HTTP – ansprechen. Für die Abfrage der Nitro API verwenden wir JSON [3], ein einfaches Format zum Austausch von Daten. Eine einfache Abfrage der Nitro API in einem Browser könnte zum Beispiel so aussehen:

http://FQDN oder IP des
...

Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019