Juniper NETWORKS Bng Cups Smart Session Load Balancing Installation Guide

September 12, 2024
JUNIPER NETWORKS

Juniper NETWORKS Bng Cups Smart Session Load Balancing

Juniper Networks, Inc.
1133 Innovation Way
Sunnyvale, California 94089
USA
408-745-2000
www.juniper.net
Juniper Networks, the Juniper Networks logo, Juniper, and Junos are registered trademarks of Juniper Networks, Inc.
in the United States and other countries. All other trademarks, service marks, registered marks, or registered service
marks are the property of their respective owners.
Juniper Networks assumes no responsibility for any inaccuracies in this document. Juniper Networks reserves the right
to change, modify, transfer, or otherwise revise this publication without notice.
Juniper BNG CUPS Installation Guide
Copyright © 2024 Juniper Networks, Inc. All rights reserved.
The information in this document is current as of the date on the title page.
YEAR 2000 NOTICE
Juniper Networks hardware and software products are Year 2000 compliant. Junos OS has no known time-related
limitations through the year 2038. However, the NTP application is known to have some difficulty in the year 2036.
END USER LICENSE AGREEMENTI
The Juniper Networks product that is the subject of this technical documentation consists of (or is intended for use
with) Juniper Networks software. Use of such software is subject to the terms and conditions of the End User License
Agreement (“EULA”) posted at https://support.juniper.net/support/eula/. By downloading, installing or using such
software, you agree to the terms and conditions of that EULA.

About This Guide
Use this guide to plan, install, upgrade and migrate to Juniper BNG CUPS software.
After completing the installation, refer to the Juniper BNG CUPS User Guide for further software
configuration.

Juniper BNG CUPS Installation
Install Juniper BNG CUPS 2
How to Use the Juniper BNG CUPS Controller Utility Commands | 10

Install Juniper BNG CUPS
SUMMARY
This section describes installation procedures and
system requirements for Juniper BNG CUPS.
IN THIS SECTION
Before You Begin | 2
Install Juniper BNG CUPS Controller | 3
Start BNG CUPS Controller | 8
Install a BNG User Plane | 10
Juniper BNG CUPS disaggregates the broadband network gateway (BNG) function running in Junos OS
into separate control plane and user plane components. The control plane is a cloud-native application
that runs in a Kubernetes environment. The user plane component continues to run on Junos OS on a
dedicated hardware platform.
The installation instructions in this guide are for the disaggregated control plane component of the
Juniper BNG CUPS solution. In the Juniper BNG CUPS solution, the control plane is referred to as
Juniper BNG CUPS Controller (BNG CUPS Controller). The BNG CUPS Controller component requires a
multi-node Kubernetes cluster.
Before You Begin
Before you begin installing and running BNG CUPS Controller, make sure you have the following:
• A juniper.net user account with permissions to download the Juniper BNG CUPS software package.
• A Linux host (jump host) running Ubuntu 22.04 LTS (or later) required for running the junos-bng-cups –
controller installation. The jump host must have the following resources allocated to it:
• CPU cores-2
• RAM-8 GB
• Disk space—128 GB of free disk storage
• The cluster must have at least three worker nodes (either virtual or physical machines). A node is a
Linux system running Ubuntu 22.04 LTS (or later) that has a management address and a domain
name. The nodes must meet the following system requirements:

• CPU cores-8 (hyperthreading preferred)
• RAM-64 GB
• Disk space-512 GB of free disk storage in the root partition
We recommend that you partition your disk storage accordingly:
• 128 GB to the root (/) partition for the operating system
• 128 GB to /var/lib/docker for the Docker cache
• 256 GB to /mnt/longhorn for the application data. This is the default location, you can specify
a different location during configuration.
• All cluster nodes must have a user account with sudo access.
• You must have root-level SSH access from the jump host, using key-based authentication, to all
nodes.
To use Juniper BNG CUPS, you must purchase a license for both the Juniper BNG CUPS Controller
(control plane) and the Juniper BNG User Planes (user planes) associated to the Juniper BNG CUPS
Controller. For information about how to purchase a software license, contact your Juniper Networks
sales representative at https://www.juniper.net/in/en/contact-us/.
The MX Series devices that you are using in your Juniper BNG CUPS environment also require their own
separate licenses. For information about how to purchase hardware, contact your Juniper Networks
sales representative at https://www.juniper.net/in/en/contact-us/.
Install Juniper BNG CUPS Controller
SUMMARY
Use this procedure to install Juniper BNG CUPS Controller.
Before you begin, confirm that you have met the requirements for the BNG CUPS Controller installation.
NOTE: See the BBE Cloudsetup Installation Guide for instructions on installing the BBE
Cloudsetup facility and building the Kubernetes cluster. Use the dong setup [–bbecloudsetup] to install and to build your cluster. All the defaults align with BBE Cloudsetup if you use the
bbecloudsetup option. If you don’t use the bbecloudsetup option with setup, then you need to have
the following information when you start the BNG CUPS Controller installation:
• Kubernetes registry location
• Registry name
• Registry port
• Syslog server/BBE Event Collection and Visualization address and syslog server port
Install the BNG CUPS Controller Application
1. Download the Juniper BNG CUPS software package from Juniper Networks software download
page, and save it to the jump host.
BNG CUPS Controller is available as a compressed tarball image (.tgz). The filename includes the
release number as part of the name. The release number has the format:.nzb.s
For example, the software release number 23.41.5 maps to the following format:
• mis the main release number of the product (for example, 23).
• nis the minor release number of the product (for example, 4).
• Zis the type of software release (for example, R for FRS or maintenance release). |
• bis the build number of the product (for example, 1, indicating the FRS release, rather than a
maintenance release).
• sis the spin number of the product (for example, 5).
2. Unpack the BNG CUPS Controller tarball (.tgz) file on the jump host by entering:

  • $ tar zxvf junos-bng-cups-controller- image-stamp-m. nZb. s. tgz
    dong/load. json
    dong/dong/settings.py
    dbng/charts/bng_controller/templates/_installation.tpl
    dong/ images/ junos-cong-docker-amd64. tgz
    dong/dong/dong
    dbng/images/ junos-cscache-docker-amd64. tgz
    dbng/dbng_loader
    dbng/dbng/DbngValidator.py
    dbng/charts/bng_controller/templates/_metadata.tpl
    dong/charts/bng_controller/.helmignore

  • dbng/charts/bng_controller/templates/_svcs.tpl
    dbng/charts/bng_controller/templates/cfgmap.yaml
    dong/charts/bng_controller/values.yaml
    dbng/charts/cpi/templates/service-debug.yaml
    dbng/charts/cpi/templates/_label.tpl
    dbng/charts/cpi/templates/_affinity.tpl
    dbng/charts/cpi/.helmignore
    dbng/charts/cpi/containers.yaml
    dong/charts/cpi/questions.yaml
    dong/charts/cpi/templates/hooks/validator.yaml
    dbng/charts/cpi/templates/cfgmap.yaml
    dbng/charts/cpi/templates/pvc.yaml
    dbng/charts/cpi/templates/pod.yaml
    dbng/charts/cpi/templates/service.yaml
    dbng/charts/cpi/values.yaml
    dbng/charts/scache/templates/service-debug.yaml
    dong/charts/scache/templates/hooks/validator.yaml
    dbng/charts/scache/templates/_affinity.tpl
    dbng/charts/scache/.helmignore
    dong/charts/scache/containers.yaml
    dbng/charts/scache/questions.yaml
    dbng/charts/scache/templates/pvc.yaml
    dbng/charts/scache/templates/pod.yaml
    dbng/charts/scache/templates/service-internal.yaml
    dong/charts/scache/values.yaml
    dbng/dong/Dockerfile.validator
    dbng/dbng/JnprBbeUtilityBase.tgz
    dong/charts/bng_controller/Chart.yaml
    dong/charts/cpi/Chart.yaml
    dbng/charts/scache/Chart.yaml

3. Run the loader script after you unpack the tarball.
$ sudo dbng/dbng_loader
Creating dbng group… done.
Loading files… done.
Setting up utility script… done.
Successfully loaded:
4. Use the sudo -E dbng link –context context-name –version software-release command to link to the cluster.
The link command associates the loaded BNG CUPS Controller software package to the cluster in
preparation for the setup.
$ sudo -E dong link –context context-name –version software-release
Linking swwf-il-k46-s to single-cp… done.
Linking complete, please run dbng setup.
• context context-name-The Kubernetes context name.
• version software-release-The BNG CUPS Controller software version, as displayed from the
bng loader output.
5. If you are using a secure registry (as would be created on a BBE Cloudsetup created cluster),
authenticate with the registry by issuing a docker login as the system user (the system user supplied
in the BBE Cloudsetup configuration file) to the cluster’s registry transport address (the FQDN
supplied as the system address in the BBE Cloudsetup configuration file).
docker login -u ‹ system/user> :5000
Password:
WARNING! Your password will be stored unencrypted in /home/user/. docker/config. json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
6. Run dong setup to configure your installation.
$ sudo -E dong setup –context context-name –update [–bbecloudsetup] –ssh host:port [–
secrets] • context context-name-The Kubernetes context name.
• update-You will only be prompted for missing values during setup.
• bbecloudsetup-Uses the default values used when BBE Cloudsetup created the Kubernetes cluster.
• ssh host:port-A hostname or IP address of the cluster (any of the cluster’s nodes) and open port
used for SSH access to the CLI.
The setup command does the following:
• Collects information about the cluster environment such as; Names of storage class or persistent
volumes, location of a container registry, container/pod name of registry, any TLS key information,
and so on.
• Initializes the BNG CUPS Controller configuration.
If you did not use the bbecloudsetup option with the setup command, you need to complete these
prompts during the setup:
• Docker registry address and port number
• CPi Config storage class name and size
• CPi Core storage class name and size
• Scache Core storage size
$ sudo -E dong setup –context context-name –update –ssh host:port [–secrets] Validating registry… done.
7. Verify the BNG CUPS Controller installation by running the dbng version command.
$ dong version –context context-name –detail
BNG Controller (single-cp) versions:
Microservice Release
dbng:

scache: Available releases for BNG Controller (single-cp): contexts: swwf-il-k46-s components: dong scache cpi contexts: components: dbng scache cpi • context context-name-The Kubernetes context name. • detail-Displays all available software versions. $ dong version –context context-name –detail BNG Controller (single-cp) versions: Microservice Release dbng: scache: Available releases for BNG Controller (single-cp): contexts: swwf-il-k46-s components: dong scache cpi contexts: components: dbng scache cpi • context context-name-The Kubernetes context name. • detail-Displays all available software versions.

SUMMARY
Use this procedure to configure and to start BNG CUPS Controller.
1. Enter rollout to start the BNG CUPS Controller installation. The BNG CUPS Controller utility allows
you to roll out different software versions for all microservices that are part of BNG CUPS Controller.
You need to use the rollout command with sudo as root. The rollout command also validates that all
the values needed for the new releases are present and loads the new release container images to
the registry. Use sudo -E dong rollout –context context-name –version software-release –service service-
name to start BNG CUPS Controller services. For example:
$ sudo -E dong rollout –context context-name
Load container images to registry…
Loading scache images to local cache… done.
Pushing scache images to registry… done.
Loaded container images to registry.
Rollout BNG Controller (single-cp)… done.
• context-name-The Kubernetes context.
• service service-name-The microservice name to rollout (for example, scache and cpi-).
• version software-release-The software release to rollout (defaults to the release that links to the
cluster).
NOTE: On the first rollout –service is not required. The –service is used with the –version to
rollout (upgrade specific versions of specific services.
NOTE: By default, BNG CUPS Controller starts from factory-default. The configuration is
reset to its initial state. Any persistent state and any persistent logs are cleared.
2. Enter dong status –detail –context context-name to verify that the BNG CUPS Controller services are up
and running. For example:
$ dong status –detail –context context-name
MICROSERVICE POD
NODE
scache
scache-pod-77d749dc6f -5h5f t
k46-s. juniper.net
STATE RESTARTS UPTIME
Running 0
0: 03:41.887146 swwf-il-
Storage: Healthy
NOTE: Collect the logs for a service and contact the Juniper Networks Technical Assistance
Center (JTAC) when either of the following occurs:
• The service is not running.
• The service’s uptime compared with other services indicates that it has restarted.
3. You must add a control plane instance (CPi) to your BNG CUPS Controller. Run the CPi add command.
$ sudo -E dong cpi add –context context-name –version release-number cpi-label
Adding CPi “cpi-example-1” to chart… done.
Pushing container images to registry…
Loading cpi-exampl-1 images to local cache… done.
Pushing cpi-examp1-1 images to registry… done.
done.
Rolling out new CPi… done.
• context context-name-The Kubernetes context name. Enter the name of the context.
• version software-release-The software release for the new CPi pod. Enter a release.
• cpi- label-Specify a label that is used for CPi commands.
4. Verify that the CPi micro service is running, by using the dong status command.
$ dbng ststus –detail –context context-name
MICROSERVICE POD
STATE
NODE
cpi-examp1-1 cpi-examp1-1-pod-84cd94f6c5-wkp85 Running o
k46-s. juniper.net
RESTARTS UPTIME
0:00:19.887097 swwf-il-k46-s.juniper.netscache
k46-s. juniper.net
scache-pod-77d749dc6f – 5h5f t
Running 0
0:03:41. 887146 swwf-il-
Storage: Healthy
• context context-name-The Kubernetes context name.
• detail-Displays detailed information.
Install a BNG User Plane
The BNG User Planes that you use as part of Juniper BNG CUPS are the MX Series routers that you
have installed in your network. BNG User Planes (MX Series routers) run Junos OS. If you need to install
a BNG User Plane, see the following: Junos® OS Software Installation and Upgrade Guide.
How to Use the Juniper BNG CUPS Controller
Utility Commands

How to Use the Juniper BNG CUPS Controller
Utility Commands
SUMMARY
After you have installed Juniper BNG CUPS
Controller (BNG CUPS Controller), you can perform
numerous administrative functions.
IN THIS SECTION
Access Juniper BNG CUPS Controller Utility
Commands 11
Start or Stop BNG CUPS Controller
Services | 18
Check the Status of BNG CUPS Controller
Services | 18
Juniper BNG CUPS Logging | 19
Uninstall and Remove BNG CUPS
Controller | 20
How to Access BNG CUPS Controller
Configuration and Operational
Commands | 20

Access Juniper BNG CUPS Controller Utility Commands
You can use the BNG CUPS Controller utility script (dong) to administer the application and to access the
CLI that you use for configuring operations. The BNG CUPS Controller installation places the utility
script in /usr/local/bin.
The dong utility script performs the tasks you need to do to manage BNG CUPS but masks the
complexity of the kubectl command. This masking of the kubectl commands simplifies your administrative
duties.
The dong utility script uses the Kubernetes kubectl utility commands to do the following:
• Create and delete objects.
• Conduct interactive sessions with pod containers.
• Display the status of the BNG CUPS Controller objects.
Table 1 on page 11 lists the commands that you can invoke with the dong utility script and describes the
action that each command initiates.
Table 1: BNG CUPS Controller Utility Script Commands

To display a list of available commands with a brief description, use either the h or help option:
$ dong -h
$ dbng –help
To display the options for a specific command:
$ dong command-name -h

Start or Stop BNG CUPS Controller Services
Use the dong utility script to start or stop all BNG CUPS Controller services.
• To start all BNG CUPS Controller services:
$ sudo -E dong rollout –context context-name
• To stop all BNG CUPS Controller services:
$ sudo -E dbng stop –context context-name

Check the Status of BNG CUPS Controller Services
Use the dbng status utility script to check the status of each BNG CUPS Controller service (functional
component) listed in Table 2 on page 19. The status shows whether a service is running, has exited, or
has not started. It also displays the service name on the Kubernetes pod. You can compare uptime for
the services to quickly see whether any service has been restarted.

Table 2: Services Displayed with the Status Command

To check the status of controller services, display the service status:
$ dbng status
For example:
user@host $ dbng status –detail –context context-name
MICROSERVICE POD
STATE
NODE
scache
scache-pod-7f646d56dc-w88sg Running 0
example-1. juniper.net

RESTARTS UPTIME
0:00:38.959603
example-1. juniper.net
Juniper BNG CUPS Logging
Juniper BNG CUPS uses the Broadband Edge (BBE) Event Collection and Visualization application for
logging purposes.
BBE Event Collection and Visualization collects syslog events and records them in a time-series
database. You can view the recorded events through the BBE Event Collection and Visualization
Dashboard. The BBE Event Collection and Visualization Dashboard is a GUI-based visualization tool that
enables you to view recorded events according to a defined filter, which can be within a specific time
range. The Dashboard also provides powerful search and visualization tools through which you can
correlate recoded events from multiple sources. To install BBE Event Collection and Visualization, see
Broadband Edge Event Collection and Visualization Installation Guide.

Uninstall and Remove BNG CUPS Controller
Use the dong utility script to uninstall the BNG CUPS Controller configuration. The unlink command
reverts the actions you performed when setting up BNG CUPS Controller. This script returns BNG CUPS
Controller to the state it was in immediately after you installed the application but before you did any
setup configuration.
To uninstall BNG CUPS Controller:
1. On the jump host where you installed BNG CUPS Controller, run the stop command.
$ sudo -E dong stop –context context-name
2. Run the unlink command.
$ sudo -E dong unlink –context context-name
3. Run the clean command.
$ sudo -E dong clean –uninstall

How to Access BNG CUPS Controller Configuration and Operational
Commands
IN THIS SECTION
Access the BNG CUPS Controller CLI | 20
Access and Use CLI Configuration Statements | 21
Access and Use CLI Operational Commands | 22
Access the BNG CUPS Controller CLI
You use the BNG CUPS Controller command-line interface (CLI) to configure BNG CUPS Controller and
to monitor its operations. This section describes how to access the CLI.

To access the BNG CUPS Controller CLI prompt:
1. Enter the following dong utility script command.
$ dong cli
root@host>
2. Enter a question mark to see the available top-level CLI commands. This command yields a subset of
the Junos OS top-level commands.

The CLI available for BNG CUPS Controller is a subset of the Junos OS CLI. For an overview of Junos
OS CLI basics, see Day One: Exploring the Junos CLI. For more detailed information, see the CLI User
Guide.
Access and Use CLI Configuration Statements
You use configuration statements to configure, set, manage, and monitor BNG CUPS Controller
properties.
To configure BNG CUPS Controller components:
1. Use the BNG CUPS Controller utility command dong cli to access the top- level CLI prompt.
2. Access configuration mode to configure BNG CUPS Controller and the information that BNG CUPS
Controller uses to configure a managed router.
root@user> configure
root@user#
3. Enter CLI statements to configure the Juniper BNG CUPS components (BNG CUPS Controller and
BNG User Planes).
4. Save and activate the configuration. This command succeeds only when no configuration syntax
errors exist.
root@user# commit
commit complete
5. (Optional) Exit configuration mode and return to the top-level CLI prompt.
root@user# exit
root@user>
For a list of supported configuration statements, see Juniper BNG CUPS CLI Configuration
Statements.

Access and Use CLI Operational Commands
You use operational commands to display the current status of Juniper BNG CUPS. You enter
operational commands to monitor and to troubleshoot the BNG CUPS Controller and the BNG User
Planes.
To monitor BNG CUPS Controller, view BNG CUPS Controller configuration and statistics, or run certain
operations manually:
1. Use the BNG CUPS Controller utility command dong cli to access the top- level CLI prompt.
$ dong cli
root@host
2. Enter specific commands.
• Use show commands to display statistical information.
• Use request commands to manually initiate certain BNG CUPS Controller operations.

For a list of supported operational commands, see Juniper BNG CUPS Operational Commands.

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

JUNIPER NETWORKS User Manuals

Related Manuals