Installationsvoraussetzungen unter Ubuntu
Um einen Paragon Automation-Cluster erfolgreich zu installieren und bereitzustellen, benötigen Sie einen Steuerungshost, der die Verteilungssoftware auf mehreren Cluster-Knoten installiert. Sie können die Distributionssoftware auf den Steuerungshost herunterladen und dann die Installationsdateien erstellen und konfigurieren, um die Installation vom Steuerungshost auszuführen. Sie müssen über einen Internetzugang verfügen, um die Pakete auf dem Steuerungshost herunterzuladen. Sie müssen auch über einen Internetzugang auf den Cluster-Knoten verfügen, um zusätzliche Software wie Docker und Betriebssystem-Patches herunterladen zu können. Die Reihenfolge der Installationsaufgaben ist in Abbildung 1 auf hoher Ebene dargestellt.
Bevor Sie die Verteilungssoftware herunterladen und installieren, müssen Sie den Steuerungshost und die Clusterknoten wie in diesem Thema beschrieben konfigurieren.
Vorbereiten des Kontrollhosts
Der Steuerungshost ist eine dedizierte Maschine, die die Installation und das Upgrade eines Paragon Automation-Clusters orchestriert. Es führt die Ansible-Vorgänge aus, mit denen das Software-Installationsprogramm ausgeführt und die Software auf den Cluster-Knoten installiert wird, wie unter Hostfunktionen steuern dargestellt.
Sie müssen die Installationspakete auf den Ansible-Kontrollhost herunterladen. Im Rahmen der Installation von Paragon Automation installiert der Steuerungshost alle zusätzlichen Pakete, die auf den Cluster-Knoten erforderlich sind. Die Pakete umfassen optionale Betriebssystempakete, Docker und Elasticsearch. Alle Microservices, einschließlich Microservices von Drittanbietern, werden auf die Cluster-Knoten heruntergeladen. Die Microservices greifen während der Installation nicht auf öffentliche Register zu.
Der Steuerungshost kann sich in einer anderen Broadcast-Domäne als die Cluster-Knoten befinden, aber Sie müssen sicherstellen, dass der Steuerungshost SSH verwenden kann, um eine Verbindung zu allen Knoten herzustellen.
Nach Abschluss der Installation spielt der Steuerungshost keine Rolle mehr für das Funktionieren des Clusters. Sie benötigen jedoch den Steuerungshost, um die Software oder eine Komponente zu aktualisieren, Änderungen am Cluster vorzunehmen oder den Cluster neu zu installieren, wenn ein Knoten ausfällt. Sie können den Steuerungshost auch zum Archivieren von Konfigurationsdateien verwenden. Es wird empfohlen, den Kontrollhost nach der Installation verfügbar zu halten und nicht für etwas anderes zu verwenden.
Bereiten Sie den Steuerungshost wie folgt für den Installationsvorgang vor:
Vorbereiten von Clusterknoten
- Paragon Automation und die verwalteten Geräte
- Paragon Automation und der Netzwerkadministrator
Es wird empfohlen, alle Knoten in derselben Broadcast-Domäne zu platzieren. Informationen zu Cluster-Knoten in verschiedenen Broadcast-Domänen finden Sie unter Konfigurieren des Lastenausgleichs für eine zusätzliche Load Balancing-Konfiguration.
Wie in den Systemanforderungen für Paragon Automation beschrieben, können Sie Paragon Automation mit einer Multinode-Bereitstellung installieren.
Sie müssen die Cluster-Knoten wie folgt für den Installationsprozess von Paragon Automation vorbereiten:
Überlegungen zu virtuellen IP-Adressen
Ein Pod ist die kleinste bereitstellbare Recheneinheit, die in Kubernetes erstellt und verwaltet wird. Ein Pod enthält einen oder mehrere Container mit gemeinsam genutzten Speicher- und Netzwerkressourcen und spezifischen Anweisungen zum Ausführen der Anwendungen. Container sind die unterste Verarbeitungsebene, und Sie führen Anwendungen oder Microservices in Containern aus.
Der primäre Knoten im Cluster bestimmt, welcher Workerknoten einen bestimmten Pod und Container hostet.
Sie implementieren alle Funktionen von Paragon Automation über eine Kombination von Microservices. Sie müssen einige dieser Microservices auch außerhalb des Clusters zugänglich machen, da sie Dienste für Endbenutzer (verwaltete Geräte) und Administratoren bereitstellen. Sie müssen z. B. den pceserver-Dienst zugänglich machen, um PCEP-Sitzungen (Path Computation Element Protocol) zwischen PE-Routern (Provider Edge) und Paragon Automation einzurichten.
Sie müssen diese Services außerhalb des Kubernetes-Clusters mit bestimmten Adressen verfügbar machen, die von den externen Geräten aus erreichbar sind. Da ein Dienst auf einem der Workerknoten zu einem bestimmten Zeitpunkt ausgeführt werden kann, müssen Sie virtuelle IP-Adressen (VIPs) als externe Adressen verwenden. Sie dürfen die Adresse eines bestimmten Worker-Knotens nicht als externe Adresse verwenden.
In diesem Beispiel:
-
Betrachten Sie, dass Worker 1 10.1.x.3 und Worker 2 10.1.x.4 ist.
-
SERVICE IP = PCEP VIP ist 10.1.x.200
-
PCC_IP ist 10.1.x.100
Paragon Automation-Services verwenden eine von zwei Methoden, um Services außerhalb des Clusters verfügbar zu machen:
-
Load Balancer: Jeder Load Balancer ist einer bestimmten IP-Adresse zugeordnet und leitet externen Datenverkehr an einen bestimmten Service im Cluster weiter. Dies ist die Standardmethode für viele Kubernetes-Installationen in der Cloud. Die Load Balancer-Methode unterstützt mehrere Protokolle und mehrere Ports pro Dienst. Jeder Dienst hat seinen eigenen Load Balancer und seine eigene IP-Adresse.
-
Paragon Automation verwendet den MetalLB Load Balancer. MetalLB simuliert einen externen Load Balancer, indem es entweder virtuelle IP-Adressen im Layer-2-Modus verwaltet oder im Layer-3-Modus mit externen Routern interagiert. MetalLB stellt die Lastausgleichsinfrastruktur für den Kubernetes-Cluster bereit.
Services vom Typ "LoadBalancer" interagieren mit der Kubernetes-Load-Balancing-Infrastruktur, um eine extern erreichbare IP-Adresse zuzuweisen. Einige Dienste können eine externe IP-Adresse gemeinsam nutzen.
-
Ingress: Die Ingress-Methode fungiert als Proxy, um den Datenverkehr in den Cluster zu bringen, und leitet den Datenverkehr dann mithilfe des internen Service-Routing an sein Ziel weiter. Unter der Haube verwendet diese Methode auch einen Lastenausgleichsdienst, um sich der Welt auszusetzen, damit sie als dieser Proxy fungieren kann.
Paragon Automation verwendet die folgenden Eingangsproxys:
- Botschafter
- Nginx
Geräte von außerhalb des Clusters müssen auf die folgenden Dienste zugreifen, und daher benötigen diese Dienste eine VIP-Adresse.
| Erforderliche VIP-Adresse | Beschreibung | Load Balancer/Proxy |
|---|---|---|
| Ingress-Controller |
Wird für den Zugriff auf die GUI von Paragon Automation über das Web verwendet. Paragon Automation stellt einen gemeinsamen Webserver bereit, der den Zugriff auf die Komponenten und Anwendungen ermöglicht. Der Zugriff auf den Server wird über den Kubernetes Ingress Controller verwaltet. |
Botschafter MetalLB |
| Paragon Insights Services |
Wird für Insights-Services wie Syslog, DHCP-Relay und JTI verwendet. | MetalLB |
| Paragon Pathfinder PCE-Server |
Wird verwendet, um PCEP-Sitzungen mit Geräten im Netzwerk einzurichten. |
MetalLB |
| SNMP-Trap-Empfänger-Proxy (optional) |
Benutzer für den SNMP-Trap-Empfänger-Proxy nur, wenn diese Funktionalität erforderlich ist. |
MetalLB |
| Infrastruktur Nginx Ingress Controller |
Wird als Proxy für den Paragon Pathfinder Netflowd-Server und optional für den Paragon Pathfinder PCE-Server verwendet. Der Nginx Ingress Controller benötigt eine VIP innerhalb des MetalLB-Load-Balancer-Pools. Dies bedeutet, dass Sie diese Adresse während des Installationsvorgangs als Teil der LoadBalancer-IP-Adressbereiche angeben müssen, die Sie beim Erstellen der Konfigurationsdatei angeben müssen. |
Nginx MetalLB |
| Pathfinder Netflowd |
Wird für den Netflowd-Server von Paragon Pathfinder verwendet. Netflowd kann Nginx als Proxy verwenden, in diesem Fall ist keine eigene VIP-Adresse erforderlich. |
MetalLB |
| Registrierung (optional) | Wird für die Verbindung mit mehreren Container-Registries auf den primären Knoten verwendet. |
- |
| PCEP-Server (optional) |
Wird für den PCE-Server für die MD5-Authentifizierung verwendet. |
- |
| cRPD (optional) |
Wird verwendet, um eine Verbindung zum BGP Monitoring Protocol (BMP)-Pod für die MD5-Authentifizierung herzustellen. |
- |
Von Ambassador verwendete Ports:
-
HTTP 80 (TCP)-Weiterleitung zu HTTPS
-
HTTPS 443 (TCP)
-
Paragon Planner 7000 (TCP)
-
DCS/NETCONF initiiert 7804 (TCP)
Von Insights Services, PCE-Server (Path Computation Element) und SNMP verwendete Ports:
-
Insights-Services
JTI 4000 (UDP)
DHCP (ZTP) 67 (UDP)
SYSLOG 514 (UDP)
SNMP-Proxy 162 (UDP)
-
PCE-Server
PCEP 4189 (TCP)
-
SNMP
SNMP-Trap-Empfänger 162 (UDP)
verwendete Ports
Vom Nginx-Controller verwendete Ports:
-
NetFlow 9000 (UDP)
-
PCEP 4189 (TCP)
Verwendung von Nginx für PCEP
Während des Installationsvorgangs werden Sie gefragt, ob Sie den Eingangsproxy für PCEP aktivieren möchten. Sie können aus None oder Nginx-Ingress als Proxy für den PCE-Server (Path Computation Element) auswählen.
Wenn Sie als Proxy auswählenNginx-Ingress, müssen Sie die VIP für den in Tabelle 1 beschriebenen PCE-Server nicht konfigurieren. In diesem Fall wird die VIP-Adresse für den Infrastructure Nginx Ingress Controller auch für den PCE-Server verwendet. Wenn Sie sich dafür entscheiden, keinen netflowd-Proxy zu verwenden, wird die VIP für den Infrastructure Nginx Ingress Controller auch für netflowd verwendet.
Der Vorteil der Verwendung von Nginx besteht darin, dass Sie eine einzige IP-Adresse für mehrere Dienste verwenden können.
- VIP-Adresse für die Registrierungen in einer Bereitstellung mit mehreren primären Knoten
- VIP-Adressen für MD5-Authentifizierung
- Load Balancing konfigurieren
VIP-Adresse für die Registrierungen in einer Bereitstellung mit mehreren primären Knoten
Wenn Sie ein Setup mit mehreren primären Knoten bereitstellen und mehrere Containerregistrierungen bereitstellen (eine auf jedem primären Knoten), benötigen Sie eine zusätzliche VIP-Adresse in derselben Broadcast-Domäne wie die Cluster-Knoten. Diese Adresse wird verwendet, um eine Verbindung zu den Containerregistrierungen herzustellen, die auf jedem primären Knoten bereitgestellt werden.
Der Installations-Assistent bezeichnet diese IP-Adresse als virtuelle IP-Adresse für die Registrierung. Der VIP-Adresspool des MetalLB-Load-Balancers darf diese VIP-Adresse nicht enthalten.
VIP-Adressen für MD5-Authentifizierung
Sie können die MD5-Authentifizierung konfigurieren, um PCEP-Sitzungen zwischen dem Router und dem Paragon Pathfinder zu sichern und sicherzustellen, dass der BMP-Dienst ein Peering mit dem richtigen BGP-LS-Router durchführt. Paragon Automation verwendet Multus, um die sekundäre Schnittstelle auf dem PCE-Server und dem BMP-Pod für den direkten Zugriff auf den Router bereitzustellen. Sie benötigen die folgenden VIP-Adressen im selben Subnetz wie Ihre Cluster-Knoten:
-
VIP-Adresse für den PCE-Server im CIDR-Format
-
VIP-Adresse für cRPD im CIDR-Format
Der VIP-Adresspool des MetalLB-Load-Balancers darf diese VIP-Adressen nicht enthalten.
Wenn Sie die MD5-Authentifizierung konfigurieren möchten, müssen Sie zusätzlich den Authentifizierungsschlüssel und die virtuellen IP-Adressen auf den Routern konfigurieren. Sie müssen auch den Authentifizierungsschlüssel in der Benutzeroberfläche von Paragon Automation konfigurieren.
-
MD5 auf PCEP-Sitzungen.– Konfigurieren Sie den MD5-Authentifizierungsschlüssel auf dem Router und die Benutzeroberfläche und VIP-Adresse von Paragon Automation auf dem Router.
-
Konfigurieren Sie Folgendes in der Junos CLI:
user@pcc# set protocols pcep pce pce-id authentication-key pce-md5-keyuser@pcc# set protocols pcep pce pce-id destination-ipv4-address vip-for-pce -
Geben Sie den pce-md5-key Authentifizierung-Schlüssel in das Feld MD5-Zeichenfolge im Abschnitt Protokolle:PCEP auf der Seite Konfiguration > Geräte > Bearbeiten Device Name ein.
Der MD5-Authentifizierungsschlüssel muss mindestens 79 Zeichen lang sein.
-
-
MD5 auf cRPD— Bestimmen Sie den cRPD MD5-Authentifizierungsschlüssel und konfigurieren Sie den Schlüssel und die VIP-Adresse von cRPD auf dem Router.
-
Bestimmen oder legen Sie den MD5-Authentifizierungsschlüssel auf folgende Weise fest.
-
Führen Sie das Befehlsskript aus, und aktivieren Sie die
confMD5-Authentifizierung auf cRPD. Suchen Sie in der config.yml Datei nach demcrpd_auth_keyParameter. Wenn ein Schlüssel vorhanden ist, zeigt dies an, dass cRPD für MD5 konfiguriert ist. Zum Beispiel:crpd_auth_key : northstar. Sie können den in der config.yml Datei vorhandenen Schlüssel verwenden (oder auch bearbeiten) und ihn im Router eingeben. -
Wenn in der config.yml Datei kein MD5-Authentifizierung Schlüssel vorhanden ist, müssen Sie sich bei cRPD anmelden und den Authentifizierung Schlüssel mit einem der folgenden Befehle festlegen:
set groups extra protocols bgp group name authentication-key crpd-md5-keyoder
set protocols bgp group name authentication-key crpd-md5-keyDer MD5-Authentifizierungsschlüssel muss mindestens 79 Zeichen lang sein.
-
-
Konfigurieren Sie den Router so, dass MD5 für cRPD aktiviert wird.
user@pcc# set protocols bgp group name neighbor vip-for-crpd authentication-key md5-key
-
Sie müssen alle erforderlichen VIP-Adressen identifizieren, bevor Sie mit der Installation von Paragon Automation beginnen. Sie werden im Rahmen des Installationsvorgangs aufgefordert, diese Adressen einzugeben.
Load Balancing konfigurieren
VIPs werden standardmäßig in Layer 2 verwaltet. Wenn sich alle Cluster-Knoten in derselben Broadcast-Domäne befinden, wird jede VIP-Adresse jeweils einem Cluster-Knoten zugewiesen. Der Layer-2-Modus bietet ein Failover der VIP und kein tatsächliches Load Balancing. Für ein echtes Load Balancing zwischen den Cluster-Knoten oder wenn sich die Knoten in verschiedenen Broadcast-Domänen befinden, müssen Sie das Load Balancing in Layer 3 konfigurieren.
Sie müssen einen BGP-Router konfigurieren, um die VIP-Adresse an das Netzwerk anzukündigen. Stellen Sie sicher, dass der BGP-Router ECMP verwendet, um TCP/IP-Sitzungen zwischen verschiedenen Hosts auszugleichen. Verbinden Sie den BGP-Router direkt mit den Cluster-Knoten.
Um Load Balancing auf den Cluster Knoten zu konfigurieren, bearbeiten Sie die config.yml Datei. Zum Beispiel:
metallb_config:
peers:
- peer-address: 192.x.x.1 ## address of BGP router
peer-asn: 64501 ## autonomous system number of BGP router
my-asn: 64500 ## ASN of cluster
address-pools:
- name: default
protocol: bgp
addresses:
- 10.x.x.0/24
In diesem Beispiel ist der BGP-Router unter 192.x.x.1 für die Werbeerreichbarkeit der VIP-Adressen mit dem Präfix 10.x.x.0/24 zum Rest des Netzwerks verantwortlich. Der Cluster weist die VIP-Adresse dieses Bereichs zu und kündigt die Adresse für die Cluster-Knoten an, die die Adresse verarbeiten können.
DNS-Server konfigurieren (optional)
Sie können auf das Hauptwebgateway zugreifen, entweder über die VIP-Adresse des Eingangscontrollers oder über einen Hostnamen, der auf dem DNS-Server (Domain Name System) konfiguriert ist, der in die VIP-Adresse des Eingangscontrollers aufgelöst wird. Sie müssen den DNS-Server nur konfigurieren, wenn Sie einen Hostnamen für den Zugriff auf das Webgateway verwenden möchten.
Fügen Sie den Hostnamen dem DNS als A-, AAAA- oder CNAME-Eintrag hinzu. Für Labor- und Proof of Concept (POC)-Setups können Sie den Hostnamen zur Datei /etc/hosts auf den Cluster-Knoten hinzufügen.