Installer cRPD sur Docker
Cette section aborde les rubriques suivantes :
Avant l’installation
Avant d’installer cRPD en tant que service de routage pour obtenir la fonctionnalité de routage dans un environnement de conteneur Linux, assurez-vous :
-
Vérifiez les spécifications de la configuration système requise pour le serveur Linux afin de déployer le cRPD, voir Configuration requise pour déployer cRPD sur un serveur Linux.
Installer et vérifier Docker
Installez et configurez Docker sur la plate-forme hôte Linux pour implémenter l’environnement de conteneur Linux, consultez Installer Docker pour obtenir des instructions d’installation sur les systèmes d’exploitation hôtes Linux pris en charge.
Vérifiez l’installation de Docker. Reportez-vous à la section Déboguer l’application cRPD.
Pour installer la dernière version de 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
Télécharger le logiciel cRPD à partir de Docker Registry
Le logiciel cRPD est disponible sous forme de fichier Docker cRPD à partir du registre Docker de Juniper.
Vous pouvez télécharger le logiciel de deux manières :
-
Registre Juniper Docker
-
Page de téléchargement des logiciels Juniper
-
Avant d’importer le logiciel cRPD, assurez-vous que Docker est installé sur l’hôte Linux et que le moteur Docker est en cours d’exécution.
-
Assurez-vous de vous inscrire auprès de l’assistance Juniper avant de télécharger le logiciel cRPD.
Une fois le moteur Docker installé sur l’hôte, procédez comme suit pour télécharger et commencer à utiliser l’image cRPD :
Pour télécharger le logiciel cRPD à l’aide du registre Docker de Juniper :
Télécharger le logiciel cRPD à partir de Juniper URL
Créer des volumes de données
Pour créer des volumes de données :
Pour lancer cRPD en mode réseau hôte :
-
En mode hôte, l’espace de noms du réseau est partagé. Par exemple, si une interface est définie à l’intérieur d’un pod, la même interface est également visible sur l’hôte. Les conteneurs Docker utilisent l’espace de noms du réseau hôte. Exécutez la commande pour lancer cRPD en mode réseau hôte :
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
Configurer la mémoire
Vous pouvez limiter la quantité de mémoire allouée au cRPD en spécifiant la taille de la mémoire dans la commande suivante :
-
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
Configurer cRPD à l’aide de la CLI
cRPD fournit la configuration de ligne de commande Junos et les commandes opérationnelles pour le service de routage. Il fournit des sous-ensembles de protocoles de routage configurés qui permettent au nœud de participer à la topologie et au routage.
Vous pouvez configurer les interfaces à partir du shell Linux. La configuration de l’interface n’est disponible que pour les adresses ISO.
Pour configurer le conteneur cRPD à l’aide de l’interface de ligne de commande :