Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Verwaltung von cRPD

Aufbau von Topologien

Sie können open-vswitch Topologien einrichten und eine Verbindung zu Docker-Containern herstellen. Dies steuert die Erstellung der Bridges, die Benennung von Schnittstellen und die IP-Adressierung.

So erstellen Sie eine Topologie:

  1. Laden Sie das Dienstprogramm herunter und installieren Sie esopenvswitch-switch.

    root@ubuntu-vm18:~# apt-get install openvswitch-switch

  2. Navigieren Sie zum folgenden Pfad:

    root@ubuntu-vm18:~# cd /usr/bin

  3. ovs-docker herunterladen mit wget:

    root@ubuntu-vm18:~# wget "https://raw.githubusercontent.com/openvswitch/ovs/master/utilities/ovs-docker"

  4. Modus ändern:

    root@ubuntu-vm18:~# chmod a+rwx ovs-docker

  5. Erstellen Sie den Container crpd01.

    root@ubuntu-vm18:~# docker run --rm --detach --name crpd01 -h crpd01 --net=bridge --privileged -v crpd01-config:/config -v crpd01-varlog:/var/log -it enterprise-hub.juniper.net/crpd-docker-prod/crpd:19.2R1.8

  6. Erstellen Sie den Container crpd02.

    root@ubuntu-vm18:~# docker run --rm --detach --name crpd02 -h crpd02 --net=bridge --privileged -v crpd02-config:/config -v crpd02-varlog:/var/log -it enterprise-hub.juniper.net/crpd-docker-prod/crpd:19.2R1.8

Netzwerk-Docker-Container

Docker-Container sind über benutzerdefinierte Bridges verbunden. Eine detaillierte Dokumentation zur Docker-Bridge finden Sie unter Verwenden von Bridge-Netzwerken.

So erstellen Sie das Docker-Netzwerk:

  1. Schaffen Sie eine Brücke my-net.

    root@ubuntu-vm18:~# docker network create --internal my-net

    Das --internal Argument verhindert, dass die Bridge mit dem Host-Netzwerk verbunden wird, was in einigen Fällen wünschenswert ist. Sobald eine Brücke erstellt wurde, kann sie an die Container angeschlossen oder getrennt werden.

  2. Verbinden Sie die beiden Container über die Bridge.

    root@ubuntu-vm18:~# docker network connect my-net crpd01

    root@ubuntu-vm18:~# docker network connect my-net crpd02

    Dadurch entsteht eth1 mit einem 172.18.0.0/16-Subnetz auf crpd01 und crpd02.

Eine Brücke entfernen

  1. Entfernen Sie eine Brücke.
    root@ubuntu-vm18:~# docker network rm my-net
  2. Trennen Sie die Bridge von den Containern.
    root@ubuntu-vm18:~# docker network disconnect my-net crpd01
    root@ubuntu-vm18:~# docker network disconnect my-net crpd02

Erstellen einer OVS-Brücke

So erstellen Sie eine OVS-Brücke und verbinden den Docker mit den beiden Containern crpd01 und crpd02:

  1. Erstellen Sie eine Brücke, die crpd01 und crpd02 verbindet.

    root@ubuntu-vm18:~# ovs-vsctl add-br crpd01-crpd02_1

  2. Fügen Sie der Bridge Schnittstellen hinzu.

    root@ubuntu-vm18:~# ovs-docker add-port crpd01-crpd02_1 eth1 crpd01

    root@ubuntu-vm18:~# ovs-docker add-port crpd01-crpd02_1 eth1 crpd02

  3. Konfigurieren Sie eine IP-Adresse für die Schnittstelle.

    root@ubuntu-vm18:~# docker exec -d crpd01 ifconfig eth1 10.1.1.1/24

    root@ubuntu-vm18:~# docker exec -d crpd02 ifconfig eth1 10.1.1.2/24

  4. Konfigurieren Sie eine IP-Adresse für die Loopback-Schnittstelle.

    root@ubuntu-vm18:~# docker exec -d crpd01 ifconfig lo 10.255.255.1 netmask 255.255.255.255

    root@ubuntu-vm18:~# docker exec -d crpd02 ifconfig lo 10.255.255.2 netmask 255.255.255.255

  5. Melden Sie sich bei crpd01 an.

    root@ubuntu-vm18:~# docker exec -it crpd01 bash

  6. Überprüfen Sie die Schnittstellendetails.

    root@crpd01:/# ifconfig

  7. Überprüfen der Verbindung mit crpd02

    root@crpd01:/# ping 10.1.1.2 -c 2

Konfigurieren von OSPF

  1. Konfigurieren Sie crpd01 zur Einrichtung des OSPF-Protokolls.

    root@ubuntu-vm18:~# set policy-options policy-statement adv term 1 from route-filter 10.10.10.0/24 exact

    root@ubuntu-vm18:~# set policy-options policy-statement adv term 1 then accept

    root@ubuntu-vm18:~# set routing-options router-id 10.255.255.1

    root@ubuntu-vm18:~# set routing-options static route 10.10.10.0/24 reject

    root@ubuntu-vm18:~# set protocols ospf export adv

    root@ubuntu-vm18:~# set protocols ospf area 0.0.0.0 interface eth1

    root@ubuntu-vm18:~# set protocols ospf area 0.0.0.0 interface lo.0

  2. Konfigurieren Sie crpd02, um das OSPF-Protokoll einzurichten.

    root@ubuntu-vm18:~# set policy-options policy-statement adv term 1 from route-filter 10.20.20.0/24 exact

    root@ubuntu-vm18:~# set policy-options policy-statement adv term 1 then accept

    root@ubuntu-vm18:~# set routing-options router-id 10.255.255.2

    root@ubuntu-vm18:~# set routing-options static route 10.20.20.0/24 reject

    root@ubuntu-vm18:~# set protocols ospf export adv

    root@ubuntu-vm18:~# set protocols ospf area 0.0.0.0 interface eth1

    root@ubuntu-vm18:~# set protocols ospf area 0.0.0.0 interface lo.0

  3. Melden Sie sich bei crpd01 an.
    docker exec -it crpd01 bash
  4. Überprüfen Sie die OSPF-Routendetails.

    root@crpd01:/# cli

    root@crpd01> show ospf neighbor

    root@crpd01> show ospf route

    root@crpd01> show route

  5. Überprüfen Sie die Routen.

    root@crpd01> exit

    root@crpd01:/# ip route

    root@crpd01:/# ping 10.255.255.2 -c 2

Entfernen von Schnittstellen und Brücken

So entfernen Sie Schnittstellen und Brücken:

  1. Entfernen Sie die Schnittstellen:

    root@ubuntu-vm18:~# ovs-docker del-port crpd01-crpd02_1 eth1 R1

  2. Entfernen Sie die Brücken:

    root@ubuntu-vm18:~# ovs-vsctl del-br crpd01-crpd02_1

Anzeigen von Containerprozessen in einer laufenden cRPD

So zeigen Sie Container-Prozesse an:

Führen Sie den docker exec Befehl aus, um die Details zu den Prozessen (Anwendungen, Services und Status) anzuzeigen, die in einem Container ausgeführt werden.

root@ubuntu-vm18:~# docker exec crpd01 ps aux

Zugriff auf cRPD CLI und Bash Shell

So greifen Sie über CLI und Bash-Shell auf cRPD zu:

  1. Führen Sie das docker exec -it crpd1 cli aus, um Junos CLI zu starten.

    root@ubuntu-vm18:~# docker exec -it crpd01 cli

  2. Führen Sie die docker exec -it crpd1 bash aus, um die Junos-Shell zu starten.

    root@ubuntu-vm18:~# docker exec -it crpd01 bash

Pausing and Resuming Processes in a cRPD Container (Pausing and Resuming Processes in a cRPD Container)

Sie können alle Prozesse in einem oder mehreren Containern unterbrechen oder fortsetzen.

So pausieren und starten Sie eine cRPD neu:

  1. Führen Sie den docker pause Befehl aus, um alle Prozesse in einem cRPD-Container anzusetzen.

    root@ubuntu-vm18:~# docker pause crpd-container-name

  2. Führen Sie den docker unpause Befehl aus, um alle Prozesse im cRPD-Container wieder aufzunehmen.

    root@ubuntu-vm18:~# docker unpause crpd-container-name

Entfernen einer cRPD-Instanz

So entfernen Sie eine cRPD-Instanz oder ein cRPD-Bild:

Hinweis:

Sie müssen zunächst eine cRPD-Instanz beenden und entfernen, bevor Sie ein cRPD-Image entfernen.

  1. Führen Sie den docker stop Befehl aus, um cRPD zu stoppen.

    root@ubuntu-vm18:~# docker stop crpd-container-name

  2. Führen Sie den docker rm Befehl aus, um cRPD zu entfernen.

    root@ubuntu-vm18:~# docker rm crpd-container-name

    Hinweis:

    Schließen Sie ein --force , um die Entfernung des laufenden cRPD zu erzwingen.

  3. Führen Sie den docker rmi Befehl aus, um ein oder mehrere cRPD-Images aus der Docker-Engine zu entfernen.
    Hinweis:

    Fügen Sie ein --force , um das Entfernen eines cRPD-Bildes zu erzwingen.

    root@ubuntu-vm18:~# docker rmi crd-Image-name

Anzeigen von Docker-Statistiken und -Protokollen

So zeigen Sie die Statistiken und Protokolle an:

  1. Führen Sie den docker stats Befehl aus, um die Ressourcenauslastung zu überwachen.
  2. Führen Sie den docker logs crpd-container-name Befehl zum Extrahieren der Containerprotokolle aus.

Anzeigen aktiver Container

So zeigen Sie die aktuell aktiven Container und ihren Status an:

Führen Sie den docker ps Befehl aus, docker container ls um die aktiven Container auflisten zu können.

root@ubuntu-vm18:~# docker container ls

root@ubuntu-vm18:~# docker ps

Container stoppen

So stoppen Sie den Container:

Sie können den Container mit dem folgenden Befehl stoppen:

root@ubuntu-vm18:~# docker stop crpd-container-name