Juniper NETWORKS-logo

Juniper NETWORKS Bng Cups Smart Session Load Balancing

Juniper NETWORKS-Bng-Cups-Smart-Session-Load-Balancing-product

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 AGREEMENT
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 the 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) is 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 specifya 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 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 the Juniper Networks software download page, and save it to the jump host.
  2. 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).
  • is 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).

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
  • dbng/dong/settings.py
  • dbng/charts/bng_controller/templates/_installation.tpl
  • dong/ images/ junos-cong-docker-amd64. tgz
  • dbng/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

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: <bng-cups-software-version>

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 <bng-cups-software-version> 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.

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> <systemAddress>: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
Run a 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.

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: <bng-cups-software-version>
  • scache: <bng-cups-software-version>
  • Available releases for BNG Controller (single-cp): <ong-cups-software-version>
  • contexts: swwf-il-k46-s
  • components: dong
  • scache cpi <bng-cups-software-version>
  • contexts: components: dbng cache 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: <bng-cups-software-version>
  • scache: <bng-cups-software-version>
  • Available releases for BNG Controller (single-cp):
  • <ong-cups-software-version>
  • contexts: swwf-il-k46-s
  • components: dong
  • scache cpi <bng-cups-software-version>
  • 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 the BNG CUPS Controller. You need to use the rollout command with sudo as root.
  2. 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 <bng-cups-software-version> scache images to local cache… done.
  • Pushing <bng-cups-software-version> 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. 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-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.

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 <bng-cups-software-version> cpi-exampl-1 images to local cache… done.
  • Pushing <bng-cups-software-version> 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.

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

Juniper NETWORKS-Bng-Cups-Smart-Session-Load-Balancing-fig- (1)Juniper NETWORKS-Bng-Cups-Smart-Session-Load-Balancing-fig- (2)Juniper NETWORKS-Bng-Cups-Smart-Session-Load-Balancing-fig- (3)Juniper NETWORKS-Bng-Cups-Smart-Session-Load-Balancing-fig- (4)Juniper NETWORKS-Bng-Cups-Smart-Session-Load-Balancing-fig- (5)Juniper NETWORKS-Bng-Cups-Smart-Session-Load-Balancing-fig- (6)Juniper NETWORKS-Bng-Cups-Smart-Session-Load-Balancing-fig- (7)

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 recorded 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 the 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. 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 the configuration mode to configure the BNG CUPS Controller and the information that the 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>
  6. 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.

Documents / Resources

Juniper NETWORKS Bng Cups Smart Session Load Balancing [pdf] Installation Guide
Bng Cups Smart Session Load Balancing, Smart Session Load Balancing, Session Load Balancing, Load Balancing, Balancing

References

Leave a comment

Your email address will not be published. Required fields are marked *