Juniper NETWORKS Bng Cups Smart Session Load Balancing Installation Guide
- September 12, 2024
- JUNIPER NETWORKS
Table of Contents
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
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>
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:
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
Pushing
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
Pushing
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
- Downloads
- CLI User Guide for Junos OS | Junos OS | Juniper Networks
- BBE Cloudsetup Installation Guide | Juniper Networks
- Broadband Edge Event Collection and Visualization Installation Guide | Juniper Networks
- Juniper BNG CUPS User Guide | BNG CUPS | Juniper Networks
- Juniper BNG CUPS CLI Configuration Statements | BNG CUPS 22.1 | Juniper Networks
- Juniper BNG CUPS CLI Operational Commands | BNG CUPS 22.1 | Juniper Networks
- Junos® OS Software Installation and Upgrade Guide | Junos OS | Juniper Networks
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>