Cloud-nativer Router von Juniper für die GCP-Bereitstellung installieren und verifizieren
Der Cloud-native Router von Juniper (Cloud-nativer Router) verwendet den JCNR-Controller (cRPD) zur Bereitstellung von Funktionen auf der Steuerungsebene und JCNR-CNI zur Bereitstellung einer Container-Netzwerkschnittstelle. Der Cloud-native Router von Juniper nutzt den DPDK-fähigen vRouter, um leistungsstarke Data-Plane-Funktionen bereitzustellen, und Syslog-NG, um Benachrichtigungsfunktionen bereitzustellen. In diesem Abschnitt wird erläutert, wie Sie diese Komponenten des Cloud-nativen Routers installieren können.
Installieren Sie den Cloud-nativen Router von Juniper mit dem Juniper Support Site-Paket
In diesem Abschnitt erfahren Sie mehr über die Schritte, die zum Laden der Cloud-nativen Router-Image-Komponenten mithilfe von Helm-Diagrammen erforderlich sind.
- Lesen Sie den Abschnitt Systemanforderungen für die GCP-Bereitstellung, um sicherzustellen, dass das Setup über alle erforderlichen Konfigurationen verfügt.
- Laden Sie das gewünschte Softwarepaket für den Cloud-nativen Router in das Verzeichnis Ihrer Wahl herunter.
Sie haben die Möglichkeit, das Paket herunterzuladen, um nur den Cloud-nativen Router zu installieren, oder das Paket herunterzuladen, um JNCR zusammen mit Juniper cSRX zu installieren. Eine Beschreibung der verfügbaren Pakete finden Sie unter Download-Pakete für Cloud-native Router-Software . Wenn Sie Juniper cSRX jetzt nicht installieren möchten, können Sie Juniper cSRX jederzeit zu einem späteren Zeitpunkt auf Ihrer funktionierenden Cloud-nativen Router-Installation installieren.
- Erweitern Sie die Datei Juniper_Cloud_Native_Router_release-number.tgz.
tar xzvf Juniper_Cloud_Native_Router_release-number.tgz
- Wechseln Sie in das Hauptinstallationsverzeichnis.
Wenn Sie nur einen Cloud-nativen Router installieren, dann:
cd Juniper_Cloud_Native_Router_<release>
Wenn Sie den Cloud-nativen Router und cSRX gleichzeitig installieren, gehen Sie wie folgt vor:
cd Juniper_Cloud_Native_Router_CSRX_<release>
Anmerkung:Bei allen verbleibenden Schritten der Installation wird davon ausgegangen, dass Ihr aktuelles Arbeitsverzeichnis jetzt entweder Juniper_Cloud_Native_Router_<release> oder Juniper_Cloud_Native_Router_CSRX_<release> ist.
- Zeigen Sie den Inhalt im aktuellen Verzeichnis an.
ls helmchart images README.md secrets
- Wechseln Sie in das Helmchart-Verzeichnis, und erweitern Sie das Helm-Chart.
cd helmchart
Nur für Cloud-native Router:
ls jcnr-<release>.tgz
tar -xzvf jcnr-<release>.tgz
ls jcnr jcnr-<release>.tgz
Für die Kombination aus Cloud-nativem Router und cSRX:
ls jcnr_csrx-<release>.tgz
tar -xzvf jcnr_csrx-<release>.tgz
ls jcnr_csrx jcnr_csrx-<release>.tgz
- Die Container-Images des Cloud-nativen Routers sind für die Bereitstellung erforderlich. Wählen Sie eine der folgenden Optionen aus:
-
Konfigurieren Sie Ihren Cluster für die Bereitstellung von Images aus dem Juniper Networks-Repository
enterprise-hub.juniper.net
. Anweisungen zum Konfigurieren von Repository-Anmeldeinformationen im Helm-Diagramm für die Bereitstellung finden Sie unter Konfigurieren von Repository-Anmeldeinformationen . -
Konfigurieren Sie Ihren Cluster für die Bereitstellung von Images aus dem Images-Tarball, der im heruntergeladenen Softwarepaket Cloud-nativer Router enthalten ist. Anweisungen zum Importieren von Images in die lokale Containerlaufzeit finden Sie unter Bereitstellen von vorgefertigten Images .
-
- Befolgen Sie die Schritte unter Installieren Ihrer Lizenz, um Ihre Cloud-native Router-Lizenz zu installieren.
- Geben Sie das Root-Passwort für Ihren Host-Server in der folgenden Zeile in die Datei secrets/jcnr-secrets.yaml ein:
root-password: <add your password in base64 format>
Sie müssen das Kennwort im base64-codierten Format eingeben. Codieren Sie Ihr Passwort wie folgt:echo -n "password" | base64 -w0
- Wenden Sie secrets/jcnr-secrets.yaml auf den Cluster an.
kubectl apply -f secrets/jcnr-secrets.yaml namespace/jcnr created secret/jcnr-secrets created
- Konfigurieren Sie bei Bedarf, wie Kerne den vRouter-DPDK-Containern zugewiesen werden. Weitere Informationen finden Sie unter Zuweisen von CPUs zur Weiterleitungsebene des Cloud-nativen Routers.
- Passen Sie das Helm-Diagramm für Ihre Bereitstellung an, indem Sie die Datei helmchart/jcnr/values.yaml oder helmchart/jcnr_csrx/values.yaml verwenden.
Weitere Informationen zu den Helm-Chart-Konfigurationen finden Sie unter Anpassen des Helm-Router-Helm-Diagramms für die GCP-Bereitstellung .
- Optional können Sie die Konfiguration des Cloud-nativen Routers anpassen.
Weitere Informationen zum Erstellen und Anwenden der cRPD-Anpassungen finden Sie unter Anpassen der Cloud-nativen Routerkonfiguration .
- Wenn Sie Juniper cSRX jetzt installieren, befolgen Sie die Schritte unter Anwenden der cSRX-Lizenz und Konfigurieren von cSRX.
- Beschriften Sie die Knoten, auf denen der Cloud-native Router installiert werden soll, basierend auf der
nodeaffinity
Konfiguration (falls in definiert).values.yaml
Zum Beispiel:kubectl label nodes ip-10.0.100.17.lab.net key1=jcnr --overwrite
- Bereitstellung des Cloud-nativen Routers von Juniper mithilfe des Helm-Diagramms.
Navigieren Sie zum Verzeichnis helmchart/jcnr oder helmchart/jcnr_csrx und führen Sie den folgenden Befehl aus:
helm install jcnr .
helm install jcnr-csrx .
NAME: jcnr LAST DEPLOYED: Fri Dec 22 06:04:33 2023 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None
- Bestätigen Sie die Bereitstellung des Cloud-nativen Routers von Juniper.
helm ls
Beispielausgabe:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION jcnr default 1 2023-09-22 06:04:33.144611017 -0400 EDT deployed jcnr-<version> <version>
Installieren Sie den Cloud-nativen Router von Juniper über den Google Cloud-Marktplatz
In diesem Abschnitt erfahren Sie mehr über die Schritte, die zum Bereitstellen des Cloud-nativen Routers erforderlich sind.
- Starten Sie den Bereitstellungsassistenten für den Cloud-nativen Router von Juniper (PAYG) über den Google Cloud Marketplace.
- In der folgenden Tabelle sind die zu konfigurierenden Einstellungen aufgeführt:
Einstellungen
Wert
Name der Bereitstellung
Name Ihrer Bereitstellung.
Zone
GCP-Zone.
Reihe
N2-KARTON
Maschinentyp n2-standard-32 (32 vCPU, 16 Core, 128 GB) SSH-Schlüssel
SSH-Schlüsselpaar für Compute Engine-VM-Instanzen.
Cloud-native Router-Lizenz
Base64-kodierter Lizenzschlüssel.
Um die Lizenz zu verschlüsseln, kopieren Sie den Lizenzschlüssel in eine Datei auf Ihrem Hostserver und geben Sie den folgenden Befehl ein:base64 -w 0 licenseFile
Kopieren Sie den base64-codierten Lizenzschlüssel und fügen Sie ihn in das Lizenzfeld Cloud-nativer Router ein.
cRPD-Konfigurationsvorlage
Erstellen Sie eine Konfigurationsvorlage, um die Konfiguration des Cloud-nativen Routers anzupassen. Eine cRPD-Beispielvorlage finden Sie unter Anpassen der Cloud-nativen Routerkonfiguration (Google Cloud-Marktplatz). Die Konfigurationsvorlage muss im GCP-Bucket als Objekt gespeichert werden. Geben Sie den gsutil-URI für das Objekt in das Feld cRPD-Konfigurationsvorlage ein.
cRPD-Konfigurationszuordnung
Erstellen Sie eine Konfigurationsvorlage, um die Konfiguration des Cloud-nativen Routers anzupassen. Unter Anpassen der Cloud-nativen Routerkonfiguration (Google Cloud Marketplace) finden Sie ein Beispiel für eine cRPD-Konfigurationszuordnung. Die Konfigurationsvorlage muss im GCP-Bucket als Objekt gespeichert werden. Geben Sie den gsutil-URI für das Objekt in das Feld cRPD-Konfigurationszuordnung ein.
Typ des Boot-Datenträgers
Nicht zugeführter Standard-Speicher
Größe des Startdatenträgers in GB
50
Netzwerkschnittstellen
Definieren Sie eine zusätzliche Netzwerkschnittstelle. Standardmäßig ist eine Schnittstelle im VPC-Netzwerk verfügbar. - Weitere Mindestsystemanforderungen finden Sie im Abschnitt Systemanforderungen für die GCP-Bereitstellung. Bitte beachten Sie, dass die Einstellungen für die Bereitstellung des Cloud-nativen Routers über den Google Cloud Marketplace vorkonfiguriert sind.
- Klicken Sie hier
Deploy
, um die Bereitstellung des Cloud-nativen Routers abzuschließen. - Nach der Bereitstellung können Sie das Helm-Diagramm des Cloud-nativen Routers anpassen. Weitere Informationen finden Sie im Thema Anpassen des Helm-Diagramms für Cloud-native Router für die GCP-Bereitstellung. Geben Sie nach der Konfiguration den
helm upgrade
Befehl zum Bereitstellen der Anpassungen aus.helm upgrade jcnr . Release "jcnr" has been upgraded. Happy Helming! NAME: jcnr LAST DEPLOYED: Thu Dec 21 03:58:28 2023 NAMESPACE: default STATUS: deployed REVISION: 2 TEST SUITE: None
Installation überprüfen
Die in dieser Beispielprozedur gezeigte Ausgabe hängt von der Anzahl der Knoten im Cluster ab. Die Ausgabe, die Sie in Ihrem Setup sehen, kann sich in dieser Hinsicht unterscheiden.
- Überprüfen Sie den Status der Cloud-nativen Router-Pods, indem Sie den
kubectl get pods -A
Befehl eingeben.In derkubectl
Ausgabe des Befehls werden alle Pods im Kubernetes-Cluster in allen Namespaces angezeigt. Eine erfolgreiche Bereitstellung bedeutet, dass sich alle Pods im Ausführungszustand befinden. In diesem Beispiel haben wir die Cloud-nativen Router-Pods von Juniper fett markiert. Zum Beispiel:kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE contrail-deploy contrail-k8s-deployer-579cd5bc74-g27gs 1/1 Running 0 103s contrail jcnr-0-dp-contrail-vrouter-nodes-b2jxp 2/2 Running 0 87s contrail jcnr-0-dp-contrail-vrouter-nodes-vrdpdk-g7wrk 1/1 Running 0 87s jcnr jcnr-0-crpd-0 1/1 Running 0 103s jcnr syslog-ng-ds5qd 1/1 Running 0 103s kube-system calico-kube-controllers-5f4fd8666-m78hk 1/1 Running 0 4h2m kube-system calico-node-28w98 1/1 Running 0 86d kube-system coredns-54bf8d85c7-vkpgs 1/1 Running 0 3h8m kube-system dns-autoscaler-7944dc7978-ws9fn 1/1 Running 0 86d kube-system kube-apiserver-ix-esx-06 1/1 Running 0 86d kube-system kube-controller-manager-ix-esx-06 1/1 Running 0 86d kube-system kube-multus-ds-amd64-jl69w 1/1 Running 0 86d kube-system kube-proxy-qm5bl 1/1 Running 0 86d kube-system kube-scheduler-ix-esx-06 1/1 Running 0 86d kube-system nodelocaldns-bntfp 1/1 Running 0 86d
- Überprüfen Sie die Cloud-nativen Router-Daemonsets, indem Sie den
kubectl get ds -A
Befehl eingeben.Verwenden Sie den
kubectl get ds -A
Befehl, um eine Liste der Daemonsets abzurufen. Die Daemonsets für Cloud-native Router sind fett hervorgehoben.kubectl get ds -A
NAMESPACE NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE contrail jcnr-0-dp-contrail-vrouter-nodes 1 1 1 1 1 <none> 90m contrail jcnr-0-dp-contrail-vrouter-nodes-vrdpdk 1 1 1 1 1 <none> 90m jcnr syslog-ng 1 1 1 1 1 <none> 90m kube-system calico-node 1 1 1 1 1 kubernetes.io/os=linux 86d kube-system kube-multus-ds-amd64 1 1 1 1 1 kubernetes.io/arch=amd64 86d kube-system kube-proxy 1 1 1 1 1 kubernetes.io/os=linux 86d kube-system nodelocaldns 1 1 1 1 1 kubernetes.io/os=linux 86d
- Überprüfen Sie die Zustandsbestimmungssets des Cloud-nativen Routers, indem Sie den
kubectl get statefulsets -A
Befehl eingeben.Die Befehlsausgabe stellt die Statefulsets bereit.
kubectl get statefulsets -A
NAMESPACE NAME READY AGE jcnr jcnr-0-crpd 1/1 27m
- Überprüfen Sie, ob der cRPD lizenziert ist und über die entsprechenden Konfigurationen verfügt.
- Sehen Sie sich den Abschnitt Zugriff auf die cRPD-CLI an, um auf die cRPD-CLI zuzugreifen.
- Sobald Sie auf die cRPD-CLI zugegriffen haben, geben Sie den
show system license
Befehl im CLI-Modus ein, um die Systemlizenzen anzuzeigen. Zum Beispiel:root@jcnr-01:/# cli root@jcnr-01> show system license License usage: Licenses Licenses Licenses Expiry Feature name used installed needed containerized-rpd-standard 1 1 0 2024-09-20 16:59:00 PDT Licenses installed: License identifier: 85e5229f-0c64-0000-c10e4-a98c09ab34a1 License SKU: S-CRPD-10-A1-PF-5 License version: 1 Order Type: commercial Software Serial Number: 1000098711000-iHpgf Customer ID: Juniper Networks Inc. License count: 15000 Features: containerized-rpd-standard - Containerized routing protocol daemon with standard features date-based, 2022-08-21 17:00:00 PDT - 2027-09-20 16:59:00 PDT
- Geben Sie den
show configuration | display set
Befehl im CLI-Modus ein, um die cRPD-Standardkonfiguration und die benutzerdefinierte Konfiguration anzuzeigen. Die Ausgabe basiert auf der benutzerdefinierten Konfiguration und dem Bereitstellungsmodus des Cloud-nativen Routers.root@jcnr-01# cli root@jcnr-01> show configuration | display set
- Geben Sie den
exit
Befehl ein, um die Pod-Shell zu verlassen.
- Überprüfen der Konfiguration der vRouter-Schnittstellen
- Zeigen Sie den Abschnitt Zugriff auf die vRouter-CLI an, um auf die vRouter-CLI zuzugreifen.
- Nachdem Sie auf die vRouter-CLI zugegriffen haben, geben Sie den
vif --list
Befehl ein, um die vRouter-Schnittstellen anzuzeigen. Die Ausgabe hängt vom Bereitstellungsmodus und der Konfiguration des Cloud-nativen Routers ab. Nachfolgend finden Sie ein Beispiel für eine Bereitstellung im L3-Modus mit einer konfigurierten Fabric-Schnittstelle:$ vif --list Vrouter Interface Table Flags: P=Policy, X=Cross Connect, S=Service Chain, Mr=Receive Mirror Mt=Transmit Mirror, Tc=Transmit Checksum Offload, L3=Layer 3, L2=Layer 2 D=DHCP, Vp=Vhost Physical, Pr=Promiscuous, Vnt=Native Vlan Tagged Mnp=No MAC Proxy, Dpdk=DPDK PMD Interface, Rfl=Receive Filtering Offload, Mon=Interface is Monitored Uuf=Unknown Unicast Flood, Vof=VLAN insert/strip offload, Df=Drop New Flows, L=MAC Learning Enabled Proxy=MAC Requests Proxied Always, Er=Etree Root, Mn=Mirror without Vlan Tag, HbsL=HBS Left Intf HbsR=HBS Right Intf, Ig=Igmp Trap Enabled, Ml=MAC-IP Learning Enabled, Me=Multicast Enabled vif0/0 Socket: unix MTU: 1514 Type:Agent HWaddr:00:00:5e:00:01:00 Vrf:65535 Flags:L2 QOS:-1 Ref:3 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RX packets:0 bytes:0 errors:0 TX packets:0 bytes:0 errors:0 Drops:0 vif0/1 PCI: 0000:5a:02.1 (Speed 10000, Duplex 1) NH: 6 MTU: 9000 Type:Physical HWaddr:ba:9c:0f:ab:e2:c9 IPaddr:0.0.0.0 DDP: OFF SwLB: ON Vrf:0 Mcast Vrf:0 Flags:L3L2Vof QOS:0 Ref:12 RX port packets:66 errors:0 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Fabric Interface: 0000:5a:02.1 Status: UP Driver: net_iavf RX packets:66 bytes:5116 errors:0 TX packets:0 bytes:0 errors:0 Drops:0 vif0/2 PMD: eno3v1 NH: 9 MTU: 9000 Type:Host HWaddr:ba:9c:0f:ab:e2:c9 IPaddr:0.0.0.0 DDP: OFF SwLB: ON Vrf:0 Mcast Vrf:65535 Flags:L3L2DProxyEr QOS:-1 Ref:13 TxXVif:1 RX queue errors to lcore 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RX packets:0 bytes:0 errors:0 TX packets:66 bytes:5116 errors:0 Drops:0 TX queue packets:66 errors:0 TX device packets:66 bytes:5116 errors:0
- Geben Sie den
exit
Befehl ein, um die Pod-Shell zu verlassen.