Installing cRPD on Docker
This section outlines the steps to install the cRPD container in a Linux server environment that is running Ubuntu or Red Hat Enterprise Linux (RHEL). The cRPD container is packaged in a Docker image and runs in the Docker Engine on the Linux host.
This section includes the following topics:
Before You Install
Before you install cRPD as routing service to achieve routing functionality in a Linux container environment, ensure to:
-
Verify the system requirement specifications for the Linux server to deploy the cRPD, see Requirements for Deploying cRPD on a Linux Server.
Install and Verify Docker
Install and configure Docker on Linux host platform to implement the Linux container environment, see Install Docker for installation instructions on the supported Linux host operating systems.
Verify the Docker installation. See Debugging cRPD Application.
To install the latest Docker:
root@ubuntu-vm18:~# curl -fsSL
https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add
-
root@ubuntu-vm18:~# add-apt-repository "deb
[arch=amd64] https://download.docker.com/linux/ubuntu bionic
stable"
root@ubuntu-vm18:~# apt update
root@ubuntu-vm18:~# apt install docker-ce
Download the cRPD Software
The cRPD software is available as a cRPD Docker file from the Juniper Internal Docker registry.
There are two ways to download the software:
-
Juniper Docker Registry
-
Juniper software download page
Before you import the cRPD software, ensure that Docker is installed on the Linux host and that the Docker Engine is running.
Once the Docker Engine has been installed on the host, perform the following to download and start using the cRPD image:
You must include the --privileged
flag in the docker
run
command to enable the cRPD container to run in privileged
mode.
To download the cRPD software using the Juniper Docker Registry:
To download the cRPD software from the Juniper download URL:
-
Download the cRPD software image from the Juniper Networks website.
root@ubuntu-vm18:~# docker load -i junos-routing-crpd-docker-19.2R1.8.tgz
-
Verify the downloaded images in docker image repository
root@ubuntu-vm18:~# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE crpd 19.2R1.8 4156a807054a 6 days ago 278MB
Creating Data Volumes and Running cRPD using Docker
To create data volumes:
To launch cRPD in host networking mode:
-
In the host mode, the network namespace is shared. For example, if an interface is defined inside a pod, the same interface is visible on the host as well. Docker containers uses the host network namespace. Run the command to launch cRPD in host networking mode:
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:19.2R1.8
Configuring Memory
To limit the amount of memory allocated to the cRPD:
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:19.2R1.8
Configuring cRPD using the CLI
cRPD provides Junos command line configuration and operational commands for routing service. It provides subset of routing protocols configuration that enable node participates in topology and routing.
You can configure interfaces from Linux shell. Interface configuration is available only for the ISO addresses.
To configure the cRPD container using the CLI: