Installieren von cRPD auf Docker
Dieser Abschnitt enthält die folgenden Themen:
Vor der Installation
Stellen Sie vor der Installation von cRPD als Routingdienst zum Erreichen von Routingfunktionen in einer Linux-Containerumgebung Folgendes sicher:
-
Überprüfen Sie die Systemanforderungsspezifikationen für den Linux-Server, um den cRPD bereitzustellen, siehe Anforderungen für die Bereitstellung von cRPD auf einem Linux-Server.
Installieren und Überprüfen von Docker
Installieren und konfigurieren Sie Docker auf der Linux-Hostplattform, um die Linux-Containerumgebung zu implementieren, finden Sie unter Installieren von Docker Installationsanweisungen auf den unterstützten Linux-Hostbetriebssystemen.
Überprüfen Sie die Docker-Installation. Weitere Informationen finden Sie unter Debuggen der cRPD-Anwendung.
So installieren Sie das neueste Docker:
root@ubuntu-vm18:~# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
root@ubuntu-vm18:~# lsb_release -cs
focal
root@ubuntu-vm18:~# add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Hit:1 http://us.archive.ubuntu.com/ubuntu focal InRelease Get:2 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB] Get:3 https://download.docker.com/linux/ubuntu focal InRelease [57.7 kB] Hit:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease Get:5 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages [50.2 kB] Get:6 http://us.archive.ubuntu.com/ubuntu focal-security InRelease [128 kB] Get:7 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [3,563 kB] Get:8 http://us.archive.ubuntu.com/ubuntu focal-updates/main Translation-en [550 kB] Get:9 http://us.archive.ubuntu.com/ubuntu focal-updates/main amd64 c-n-f Metadata [17.7 kB] Get:10 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [3,236 kB] Get:11 http://us.archive.ubuntu.com/ubuntu focal-updates/restricted Translation-en [453 kB] Get:12 http://us.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1,230 kB] Get:13 http://us.archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [295 kB] Get:14 http://us.archive.ubuntu.com/ubuntu focal-security/main amd64 Packages [3,195 kB] Get:15 http://us.archive.ubuntu.com/ubuntu focal-security/main Translation-en [472 kB] Get:16 http://us.archive.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [3,117 kB] Get:17 http://us.archive.ubuntu.com/ubuntu focal-security/restricted Translation-en [436 kB] Fetched 16.9 MB in 8s (2,172 kB/s) Reading package lists... Done
root@ubuntu-vm18:~# apt update
Hit:1 https://download.docker.com/linux/ubuntu focal InRelease Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease Get:3 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease [128 kB] Hit:4 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease Get:5 http://us.archive.ubuntu.com/ubuntu focal-security InRelease [128 kB] Get:6 http://us.archive.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [14.3 kB] Fetched 270 kB in 1s (198 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 67 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@ubuntu-vm18:~# apt install docker-ce
Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: containerd.io docker-buildx-plugin docker-ce-cli docker-ce-rootless-extras docker-compose-plugin pigz slirp4netns Suggested packages: aufs-tools cgroupfs-mount | cgroup-lite The following NEW packages will be installed: containerd.io docker-buildx-plugin docker-ce docker-ce-cli docker-ce-rootless-extras docker-compose-plugin pigz slirp4netns 0 upgraded, 8 newly installed, 0 to remove and 67 not upgraded. Need to get 122 MB of archives. After this operation, 440 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 pigz amd64 2.4-1 [57.4 kB] Get:2 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 slirp4netns amd64 0.4.3-1 [74.3 kB] Get:3 https://download.docker.com/linux/ubuntu focal/stable amd64 containerd.io amd64 1.7.22-1 [29.5 MB] Get:4 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-buildx-plugin amd64 0.16.2-1~ubuntu.20.04~focal [29.9 MB] Get:5 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce-cli amd64 5:27.2.1-1~ubuntu.20.04~focal [15.0 MB] Get:6 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce amd64 5:27.2.1-1~ubuntu.20.04~focal [25.6 MB] Get:7 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-ce-rootless-extras amd64 5:27.2.1-1~ubuntu.20.04~focal [9,577 kB] Get:8 https://download.docker.com/linux/ubuntu focal/stable amd64 docker-compose-plugin amd64 2.29.2-1~ubuntu.20.04~focal [12.5 MB] Fetched 122 MB in 4s (29.5 MB/s) Selecting previously unselected package pigz. (Reading database ... 71975 files and directories currently installed.) Preparing to unpack .../0-pigz_2.4-1_amd64.deb ... Unpacking pigz (2.4-1) ... Selecting previously unselected package containerd.io. Preparing to unpack .../1-containerd.io_1.7.22-1_amd64.deb ... Unpacking containerd.io (1.7.22-1) ... Selecting previously unselected package docker-buildx-plugin. Preparing to unpack .../2-docker-buildx-plugin_0.16.2-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-buildx-plugin (0.16.2-1~ubuntu.20.04~focal) ... Selecting previously unselected package docker-ce-cli. Preparing to unpack .../3-docker-ce-cli_5%3a27.2.1-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-ce-cli (5:27.2.1-1~ubuntu.20.04~focal) ... Selecting previously unselected package docker-ce. Preparing to unpack .../4-docker-ce_5%3a27.2.1-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-ce (5:27.2.1-1~ubuntu.20.04~focal) ... Selecting previously unselected package docker-ce-rootless-extras. Preparing to unpack .../5-docker-ce-rootless-extras_5%3a27.2.1-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-ce-rootless-extras (5:27.2.1-1~ubuntu.20.04~focal) ... Selecting previously unselected package docker-compose-plugin. Preparing to unpack .../6-docker-compose-plugin_2.29.2-1~ubuntu.20.04~focal_amd64.deb ... Unpacking docker-compose-plugin (2.29.2-1~ubuntu.20.04~focal) ... Selecting previously unselected package slirp4netns. Preparing to unpack .../7-slirp4netns_0.4.3-1_amd64.deb ... Unpacking slirp4netns (0.4.3-1) ... Setting up slirp4netns (0.4.3-1) ... Setting up docker-buildx-plugin (0.16.2-1~ubuntu.20.04~focal) ... Setting up containerd.io (1.7.22-1) ... Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /lib/systemd/system/containerd.service. Setting up docker-compose-plugin (2.29.2-1~ubuntu.20.04~focal) ... Setting up docker-ce-cli (5:27.2.1-1~ubuntu.20.04~focal) ... Setting up pigz (2.4-1) ... Setting up docker-ce-rootless-extras (5:27.2.1-1~ubuntu.20.04~focal) ... Setting up docker-ce (5:27.2.1-1~ubuntu.20.04~focal) ... Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /lib/systemd/system/docker.service. Created symlink /etc/systemd/system/sockets.target.wants/docker.socket → /lib/systemd/system/docker.socket. Processing triggers for man-db (2.9.1-1) ... Processing triggers for systemd (245.4-4ubuntu3.20) ...
root@ubuntu-vm18:~# docker version
Client: Docker Engine - Community Version: 27.2.1 API version: 1.47 Go version: go1.22.7 Git commit: 9e34c9b Built: Fri Sep 6 12:08:15 2024 OS/Arch: linux/amd64 Context: default Server: Docker Engine - Community Engine: Version: 27.2.1 API version: 1.47 (minimum version 1.24) Go version: go1.22.7 Git commit: 8b539b8 Built: Fri Sep 6 12:08:15 2024 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.7.22 GitCommit: 7f7fdf5fed64eb6a7caf99b3e12efcf9d60e311c runc: Version: 1.1.14 GitCommit: v1.1.14-0-g2c9f560 docker-init: Version: 0.19.0 GitCommit: de40ad0
cRPD-Software von Docker Registry herunterladen
Die cRPD-Software ist als cRPD-Docker-Datei in der Juniper Docker-Registry verfügbar.
Sie können die Software auf zwei Arten herunterladen:
-
Juniper Docker-Registry
-
Juniper Software-Download-Seite
-
Stellen Sie vor dem Importieren der cRPD-Software sicher, dass Docker auf dem Linux-Host installiert ist und dass die Docker-Engine ausgeführt wird.
-
Stellen Sie sicher, dass Sie sich beim Juniper Support registrieren, bevor Sie die cRPD-Software herunterladen.
Nachdem die Docker-Engine auf dem Host installiert wurde, führen Sie die folgenden Schritte aus, um das cRPD-Image herunterzuladen und zu verwenden:
So laden Sie die cRPD-Software über die Juniper Docker-Registry herunter:
cRPD-Software von der Juniper URL herunterladen
Erstellen von Daten-Volumes
So erstellen Sie Daten-Volumes:
So starten Sie cRPD im Host-Netzwerkmodus:
-
Im Hostmodus wird der Netzwerk-Namespace freigegeben. Wenn beispielsweise eine Schnittstelle innerhalb eines Pods definiert ist, ist dieselbe Schnittstelle auch auf dem Host sichtbar. Docker-Container verwenden den Namespace des Hostnetzwerks. Führen Sie den folgenden Befehl aus, um cRPD im Hostnetzwerkmodus zu starten:
root@ubuntu-vm18:~# docker run --rm --detach --name crpd01 -h crpd01 --privileged --net=host -v crpd01-config:/config -v crpd01-varlog:/var/log -it crpd:24.2R1.14
Konfigurieren des Arbeitsspeichers
Sie können die Menge des Speichers, der dem cRPD zugewiesen ist, begrenzen, indem Sie die Speichergröße im folgenden Befehl angeben:
-
root@ubuntu-vm18:~# docker run --rm --detach --name crpd01 -h crpd01 --privileged -v crpd01-config:/config -v crpd01-varlog:/var/log -m 2048MB --memory-swap=2048MB -it crpd:24.2R1.14
Konfigurieren von cRPD mithilfe der CLI
cRPD stellt Junos-Befehlszeilenkonfiguration und Betriebsbefehle für den Routing-Service bereit. Er stellt Teilmengen der Routing-Protokollkonfiguration bereit, die es dem Knoten ermöglichen, an Topologie und Routing teilzunehmen.
Sie können Schnittstellen über die Linux-Shell konfigurieren. Die Schnittstellenkonfiguration ist nur für die ISO-Adressen verfügbar.
So konfigurieren Sie den cRPD-Container über die CLI: