Bereitstellen von NetScaler CPX in einem Multi-Host-Netzwerk
Eine NetScaler CPX-Instanz in einem Multi-Host-Netzwerk kann in einer Produktionsbereitstellung im Rechenzentrum konfiguriert werden, wo sie Lastenausgleichsfunktionen bereitstellt. Sie kann außerdem Überwachungsfunktionen und Analysedaten bereitstellen.
In einem Multi-Host-Netzwerk werden die NetScaler CPX-Instanzen, Backend-Server und Clients auf verschiedenen Hosts bereitgestellt. Sie können Multi-Host-Topologien in Produktionsbereitstellungen verwenden, bei denen die NetScaler CPX-Instanz einen Satz containerbasierter Anwendungen und Server oder sogar physische Server lastausgleicht.
Topologie 1: NetScaler CPX und Backend-Server auf demselben Host; Client in einem anderen Netzwerk
In dieser Topologie werden die NetScaler CPX-Instanz und die Datenbankserver auf demselben Docker-Host bereitgestellt, aber der Client-Verkehr stammt von einem anderen Ort im Netzwerk. Diese Topologie könnte in einer Produktionsbereitstellung verwendet werden, bei der die NetScaler CPX-Instanz einen Satz containerbasierter Anwendungen oder Server lastausgleicht.
Das folgende Diagramm veranschaulicht diese Topologie.

In diesem Beispiel werden die NetScaler CPX-Instanz (172.17.0.4) und die beiden Server, DB1 (172.17.0.10) und DB2 (172.17.0.11), auf demselben Docker-Host mit der IP-Adresse 10.102.29.100 bereitgestellt. Der Client befindet sich an einem anderen Ort im Netzwerk.
Die vom Internet stammenden Client-Anfragen werden auf der auf der NetScaler CPX-Instanz konfigurierten VIP empfangen, die die Anfragen dann auf die beiden Server verteilt.
Es gibt zwei Methoden, mit denen Sie diese Topologie konfigurieren können:
Methode 1: Verwenden einer zusätzlichen IP-Adresse und eines Standardports für die VIP
- Konfigurieren Sie die VIP auf dem NetScaler CPX-Container mithilfe einer zusätzlichen IP-Adresse.
- Konfigurieren Sie eine zusätzliche IP-Adresse für den Docker-Host.
- Konfigurieren Sie NAT-Regeln, um den gesamten auf der zusätzlichen IP-Adresse des Docker-Hosts empfangenen Datenverkehr an die zusätzliche IP-Adresse der VIP weiterzuleiten.
- Konfigurieren Sie die beiden Server als Dienste auf der NetScaler CPX-Instanz.
- Binden Sie abschließend die Dienste an den VIP.
Beachten Sie, dass in dieser Beispielkonfiguration das 10.x.x.x-Netzwerk ein öffentliches Netzwerk bezeichnet.
Um dieses Beispielszenario zu konfigurieren, führen Sie die folgenden Befehle entweder über die Jobs-Funktion in NetScaler® MAS oder über NITRO-APIs aus:
add service s1 172.17.0.10 HTTP 80
add service s2 172.17.0.11 HTTP 80
add lb vserver cpx-vip HTTP 172.17.4.100 80
bind lb vserver cpx-vip s1
bind lb vserver cpx-vip s2
<!--NeedCopy-->
Konfigurieren Sie eine zusätzliche öffentliche IP-Adresse für den Docker-Host und eine NAT-Regel, indem Sie die folgenden Befehle an der Linux-Shell-Eingabeaufforderung ausführen:
ip addr add 10.102.29.103/24 dev eth0
iptables -t nat -A PREROUTING -p ip -d 10.102.29.103 -j DNAT --to-destination 172.17.4.100
<!--NeedCopy-->
Methode 2: Verwenden der NetScaler CPX IP-Adresse für den VIP und Konfigurieren der Portzuordnung:
- Konfigurieren Sie den VIP und die beiden Dienste auf der NetScaler CPX-Instanz. Verwenden Sie einen nicht standardmäßigen Port, 81, mit dem VIP.
- Binden Sie die Dienste an den VIP.
- Konfigurieren Sie eine NAT-Regel, um den gesamten auf Port 50000 des Docker-Hosts empfangenen Datenverkehr an den VIP und Port 81 weiterzuleiten.
Um dieses Beispielszenario zu konfigurieren, führen Sie den folgenden Befehl an der Linux-Shell-Eingabeaufforderung aus, während Sie den NetScaler CPX-Container auf allen drei Docker-Hosts erstellen:
docker run -dt -p 22 -p 80 -p 161/udp -p 50000:81 --ulimit core=-1 --privileged=true cpx:6.2
<!--NeedCopy-->
Nachdem die NetScaler CPX-Instanz bereitgestellt wurde, führen Sie die folgenden Befehle entweder über die Jobs-Funktion in NetScaler MAS oder über NITRO-APIs aus:
add service s1 172.17.0.10 http 80
add service s2 172.17.0.11 http 80
add lb vserver cpx-vip HTTP 172.17.0.4 81
bind lb vserver cpx-vip s1
bind lb vserver cpx-vip s2
<!--NeedCopy-->
Hinweis:
Wenn Sie während der Bereitstellung der NetScaler CPX-Instanz keine Portzuordnung konfiguriert haben, konfigurieren Sie eine NAT-Regel, indem Sie die folgenden Befehle an der Linux-Shell-Eingabeaufforderung ausführen:
iptables -t nat -A PREROUTING -p tcp -m addrtype –dst-type LOCAL -m tcp –dport 50000 -j DNAT –to-destination 172.17.0.4:81
Topologie 2: NetScaler CPX mit physischen Servern und Client
In dieser Topologie wird nur die NetScaler CPX-Instanz auf einem Docker-Host bereitgestellt. Der Client und die Server sind nicht containerbasiert und befinden sich an anderer Stelle im Netzwerk.
In dieser Umgebung können Sie die NetScaler CPX-Instanz so konfigurieren, dass sie den Datenverkehr über die physischen Server hinweg lastverteilt.
Die folgende Abbildung veranschaulicht diese Topologie.

In diesem Beispiel befindet sich der NetScaler CPX-Container (172.17.0.4) zwischen dem Client und den physischen Servern und fungiert als Proxy. Die Server, DB1 (10.102.29.105) und DB2 (10.102.29.110), befinden sich außerhalb eines Docker-Hosts im Netzwerk. Die Client-Anfrage stammt aus dem Internet und wird vom NetScaler CPX empfangen, der sie auf die beiden Server verteilt.
Um diese Kommunikation zwischen dem Client und den Servern über NetScaler CPX zu ermöglichen, müssen Sie zunächst die Portzuordnung beim Erstellen des NetScaler CPX-Containers konfigurieren. Konfigurieren Sie dann die beiden Dienste auf dem NetScaler CPX-Container, um die beiden Server darzustellen. Und schließlich konfigurieren Sie einen virtuellen Server unter Verwendung der NetScaler CPX-IP-Adresse und des nicht standardmäßigen zugeordneten HTTP-Ports 8080.
Beachten Sie, dass in der Beispielkonfiguration das 10.x.x.x-Netzwerk ein öffentliches Netzwerk bezeichnet.
Um dieses Beispielszenario zu konfigurieren, führen Sie den folgenden Befehl an der Linux-Shell-Eingabeaufforderung aus, während Sie den NetScaler CPX-Container erstellen:
docker run -dt -p 22 -p 80 -p 161/udp -p 8080:8080 --ulimit core=-1 --privileged=true cpx:6.2
<!--NeedCopy-->
Führen Sie dann die folgenden Befehle entweder über die Jobs-Funktion in NetScaler MAS oder über NITRO-APIs aus:
add service s1 HTTP 10.102.29.105 80
add service s2 HTTP 10.102.29.110 80
add lb vserver cpx-vip HTTP 172.17.0.4 8080
bind lb vserver cpx-vip s1
bind lb vserver cpx-vip s2
<!--NeedCopy-->
Topologie 3: NetScaler CPX und Server, die auf verschiedenen Hosts bereitgestellt werden
In dieser Topologie werden die NetScaler CPX-Instanz und die Datenbankserver auf verschiedenen Docker-Hosts bereitgestellt, und der Client-Datenverkehr stammt aus dem Internet. Diese Topologie könnte in einer Produktionsbereitstellung verwendet werden, bei der die NetScaler CPX-Instanz eine Reihe von containerbasierten Anwendungen oder Servern lastverteilt.
Das folgende Diagramm veranschaulicht diese Topologie.

In diesem Beispiel werden die NetScaler CPX-Instanz und ein Server (DB1) auf demselben Docker-Host mit der IP-Adresse 10.102.29.100 bereitgestellt. Vier weitere Server (DB2, DB3, DB4 und DB5) werden auf zwei verschiedenen Docker-Hosts, 10.102.29.105 und 10.102.29.110, bereitgestellt.
Die aus dem Internet stammenden Client-Anfragen werden von der NetScaler CPX-Instanz empfangen, die die Anfragen dann auf die fünf Server verteilt. Um diese Kommunikation zu ermöglichen, müssen Sie Folgendes konfigurieren:
-
Legen Sie die Portzuordnung beim Erstellen Ihres NetScaler CPX-Containers fest. In diesem Beispiel bedeutet dies, dass Sie Port 8080 auf dem Container an Port 8080 auf dem Host weiterleiten müssen. Wenn die Client-Anfrage auf Port 8080 des Hosts ankommt, wird sie Port 8080 des CPX-Containers zugeordnet.
-
Konfigurieren Sie die fünf Server als Dienste auf der NetScaler CPX-Instanz. Sie müssen eine Kombination aus der jeweiligen Docker-Host-IP-Adresse und dem zugeordneten Port verwenden, um diese Dienste einzurichten.
-
Konfigurieren Sie eine VIP auf der NetScaler CPX-Instanz, um die Client-Anfrage zu empfangen. Diese VIP sollte durch die NetScaler CPX-IP-Adresse und den Port 8080 dargestellt werden, der dem Port 8080 des Hosts zugeordnet wurde.
-
Binden Sie schließlich die Dienste an die VIP.
Beachten Sie, dass in der Beispielkonfiguration das 10.x.x.x-Netzwerk ein öffentliches Netzwerk bezeichnet.
Um dieses Beispielszenario zu konfigurieren, führen Sie den folgenden Befehl an der Linux-Shell-Eingabeaufforderung aus, während Sie den NetScaler CPX-Container erstellen:
docker run -dt -p 22 -p 80 -p 161/udp -p 8080:8080 --ulimit core=-1 --privileged=true cpx:6.2
<!--NeedCopy-->
Führen Sie die folgenden Befehle entweder über die Jobs-Funktion in NetScaler MAS oder über NITRO-APIs aus:
add service s1 10.102.29.100 HTTP 8081
add service s2 10.102.29.105 HTTP 8081
add service s3 10.102.29.105 HTTP 8082
add service s4 10.102.29.110 HTTP 8081
add service s5 10.102.29.110 HTTP 8082
add lb vserver cpx-vip HTTP 172.17.0.2 8080
bind lb vserver cpx-vip s1
bind lb vserver cpx-vip s2
bind lb vserver cpx-vip s3
bind lb vserver cpx-vip s4
bind lb vserver cpx-vip s5
<!--NeedCopy-->