Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Deploy the Docker Edge Container

Follow these steps to set up the container environment and install the Edge container using a local image.

Note:

This setup process uses Juniper Apstra Edge distribution version 0.0.36_1. The version that you download might be a more recent version. For information about ACS compatibility, see Juniper Apstra Cloud Services Compatibility.

  1. Untar the tar.gz file that you downloaded.
    This creates the following directory: apstra-edge-0.0.36.
  2. Add the minimum required environment variables to the docker-compose.yml file.
    This registration code is retrieved from Step 3 in the Adopt the Juniper Apstra Cloud Services Edge section, after adopting the Edge. The registration code registers the Apstra Edge with Juniper Apstra Cloud Services. If this is your first time setting up the Apstra Edge, you might have to create an account. For more information, see User Activation and Login.
    Note:

    The Juniper Apstra Edge uses the registration code to retrieve unique organization ID, secret, and device ID during Edge installation. These IDs must be stored securely as they cannot be retrieved after the initial setup is complete.

    The CLOUD_TERM is the service that runs in the cloud, which is the entry point for any connectivity for any edge component to communicate with the the cloud.

    For a list of internal configuration variables and their functions, see Internal Variables for Juniper Apstra Edge Cloud Services Configuration.

    Note:

    These variables are meant for internal use and are not required to set up the Edge component. We do not recommend overriding these variables in production.

  3. Create a directory for installing the Edge container and copy the docker-compose.yml file from the tar.gz.
  4. Copy the container file into the apstra_edge directory.
  5. Load the Docker image.
    Note:

    If the docker load < apstra-edge-container-0.0.36.tgz doesn't work, you can add the -i option: docker load -i apstra-edge-container-0.0.36.tgz.

  6. Verify that the apstra-edge image is loaded.
  7. We recommend that you replace the Juniper Apstra self-signed certificate with a publicly-signed certificate. To proceed with a publicly-signed certificate, follow the directions at, Replace the SSL Certificate of Juniper Apstra's Nginx Controller.

    The Juniper Apstra Edge connects to the Juniper Apstra controller using the management URL provided in the Juniper Apstra Cloud Services entitlement process. This management URL is configured with an IP address. The Apstra controller requires an SSL certificate with a Subject Alternative Name containing this IP.

  8. (Optional) To proceed with the self-signed certificate on the Apstra controller instead of a publicly-signed certificate, you must add the following line (- AOS_INSECURE_SKIP_VERIFY=true) to the docker-compose.yml file after the two environment variables that you previously entered (REGISTRATION_KEY=<registration-code>, CLOUD_TERM=ep-term.ai.juniper.net):
    Note:

    You must perform Steps 9 and 10 regardless of whether you use a self-signed certificate or a publicly-signed certificate for the Apstra controller.

  9. Copy the EP-Term SSL certificate to the correct directory, and add read/write permissions. This enables the Juniper Apstra Cloud Services Edge to validate SSL certs for server authentication.
  10. Update the certificates.
  11. Spin up the Docker Edge container from the apstra_edge directory.
    The docker compose up -d command initializes the services listed in docker-compose.yml file. Applying the .yml file also creates a volume named apstra_edge_apstra_edge_store/. This volume is mounted at /var/lib/docker/volumes/apstra_edge_apstra_edge_store/_data/.
    Note:

    You must run the docker compose up -d command from within the same directory where the docker-compose.yml is located. The file must also be named docker-compose.yml or the command will not work as intended.

    Note:

    Ensure that you back up /var/lib/docker/volumes/apstra_edge_apstra_edge_store/_data/. The Edge instance uses this mount to restart connectivity in the event of a system crash.

    Note:

    IMPORTANT: During the first boot of the Juniper Apstra Cloud Services Edge container, it will perform a one-time registration process using the provided registration code. This process generates a unique secret necessary for authentication between the Edge instance and the CLOUD_TERM service.

    After this initial registration process, the registration code is invalid. Subsequent starts or restarts of the Juniper Apstra Cloud Services Edge instance use the secret to connect to the CLOUD_TERM service.

  12. Verify that the Juniper Apstra Edge is connected to Juniper Apstra Cloud Services.
    Note:

    This command verifies the following three clients:

    1. AOSHTTPClient - CreationInfo status should be CreateSuccess. AuthInfo should show Authenticated. This is the client that connects to Apstra Cloud Services through the management URL provided in the UI. If creation statuses are not successful, there is an internal problem, most likely due to incorrect credentials or providing the wrong URL during Edge onboarding. Enter the correct information in the Inventory tab in the UI for your Edge.

    2. WebSocketForwarder status should be Connected and Authenticated. This is the client that connects the Edge instance to the Cloud Term service. If statuses are not correct, possible issues are an incorrect epterm address provided in the docker-compose.yml, SSL key not installed in the local host, or a hostname mismatch for epterm in the SSL key.

    3. StreamsForwarder status should be Init or Connected. This client listens to stream messages from the streaming-config-object configured in the Apstra controller.

  13. (Optional) Verify that the Docker volume was successfully created.
  14. (Optional) View event logs.
  15. From the UI under the Inventory tab, verify the following statuses:
    Note:

    If any of these statuses show Disconnected, an error message appears when you hover over the status text.

    • Cloud Connectivity is Connected: The connection status between the Juniper Apstra Cloud Services Edge container and Juniper Apstra Cloud Services.
    • Apstra Connectivity is Connected: The connection status of the Juniper Apstra Cloud Services Edge container to the Juniper Apstra Edge instance.
  16. To stop the container, use the following command:
  17. To restart a stopped Edge container, run the following command:
    The Juniper Apstra Cloud Services Edge container is initialized, and the Edge instance is running. For additional information about the features and operation of the Apstra Edge Instance, see the Juniper Apstra Cloud Services User Guide.

    For post-setup verification, actions, and troubleshooting, see Juniper Apstra Cloud Services Edge Post-Setup: Config Changes and Troubleshooting.