Deploy the Cluster

This topic describes the procedure to deploy a Routing Director deployment cluster on the VMs.

Perform the following steps to configure and deploy the Routing Director deployment cluster using Deployment Shell CLI.

  1. Go back to the first node VM (Primary1). If you have been logged out, log in again as root with the previously configured password. You are placed in Deployment Shell operational mode.

  2. To configure the cluster, enter the configuration mode in Deployment Shell.

  3. Configure the following cluster parameters.

    Where:

    The IP addresses of kubernetes nodes with indexes 1 through 4 must match the static IP addresses that are configured on the node VMs. The Kubernetes nodes with indexes 1, 2, and 3 are the primary and worker nodes, the node with index 4 is the worker-only node. The node IP addresses can be on the same subnet or on different subnets. If you are configuring a three node cluster, skip configuring the Kubernetes node with index 4. If you are configuring a single-node deployment, skip configuring the Kubernetes nodes with indexes 2, 3, and 4.

  4. Configure the NTP and login parameters.

    Where:

    ntp-servers is the NTP server to synchronize to.

    web-admin-user and web-admin-password are the e-mail address and password that the first user can use to log in to the Web GUI.

  5. Configure generic ingress and Active Assurance Test Agent gateway (TAGW) parameters.

    On KVM, Proxmox VE, or ESXi, configure the VIP addresses:

    Where:

    ingress-vip is the VIP address for generic common ingress and is used to connect to the Web GUI.

    test-agent-gateway-vip is the VIP address for the Active Assurance Test Agent gateway (TAGW).

    The VIP addresses are added to the outbound SSH configuration that is required for a device to establish a connection with Routing Director.

    Note:

    In a multi-subnet cluster installation, the VIP addresses must not be in the same subnet as the cluster nodes.

    On AWS, configure the hostnames:

    Where:

    system-hostname is the hostname address for generic common ingress and is used to connect to the Web GUI. This hostname is the network load balancer URL that you noted down after creating the load balancer for ingress.

    test-agent-gateway-hostname is the hostname address for the Active Assurance Test Agent gateway (TAGW). This hostname is the network load balancer URL that you noted down after creating the load balancer for the TAGW.

    The hostnames are added to the outbound SSH configuration that is required for a device to establish a connection with Routing Director.

  6. (Optional) Configure hostnames for generic ingress and Active Assurance TAGW.

    Where:

    system-hostname is the hostname for the generic ingress virtual IP (VIP) address.

    test-agent-gateway-hostname is the hostname for the Active Assurance TAGW VIP address.

    When you configure hostnames, the hostnames take precedence over VIP addresses and are added to the outbound SSH configuration. The hostnames can resolve to either IPv4 or IPv6 VIP addresses or both.

    Note: On AWS, hostnames are already configured in the previous step.
  7. Configure the PCE server VIP address.

    Where:

    pce-server-vip is the VIP address that is used by the PCE server to establish Path Computational Element Protocol (PCEP) sessions between Routing Director and the devices. The VIP address can be on the same subnet as the cluster nodes or on a different subnet. The VIP address can be on different subnets from the other VIP addresses.

    On AWS, pce-server-vip is the IP address that you obtained when you resolved the PCE server load balancer DNS name.

    Note:

    Configure the PCE server VIP address to view your network topology updates in real-time.

    You can also configure the VIP address at any time post cluster deployment. For information on how to configure the PCE server VIP address after cluster deployment, see Configure a PCE Server.

  8. (Optional) Configure the routing observability feature and VIP addresses to establish BGP Monitoring Protocol (BMP) session and IPFIX data collection.

    Where:

    install-routingbot enables the routing observability feature.

    routingbot-crpd-vip is the VIP address used by external network devices as BMP station IP address to establish the BMP session. On AWS, it is the IP address that you obtained when you resolved the routing observability CRPD service.

    routingbot-ipfix-vip is the VIP address to view predictor events. On AWS, it is the IP address that you obtained when you resolved the routing observability IPFIX term.

    Warning: The bare minimum resources required to configure routing observability features are listed in Hardware Requirements. However, to get an estimate of the resources required to configure the routing observability feature on your production deployment, contact your Juniper Partner or Juniper Sales Representative.
  9. (Optional) Enable the AI-ML (artificial intelligence [AI] and machine learning [ML]) use case.

    Where:

    install-aiml enables AI-ML features. This is disabled, by default.

    Warning: The bare minimum resources required to configure AI-ML is listed in Hardware Requirements. However, to get an estimate of the resources required to configure the AI-ML use case on your production deployment, contact your Juniper Partner or Juniper Sales Representative.
  10. (Optional) Configure IPv6 addresses.

    Where:

    cluster-ipv6-enabled enables usage of IPv6 addresses for the cluster making the cluster dual-stack.

    ingress-vip-ipv6 is the IPv6 VIP address for generic common ingress and is used to connect to the Web GUI.

    test-agent-gateway-vip-ipv6 is the IPv6 VIP address for the Active Assurance TAGW.

    prefer-ipv6 configures preference for IPv6 addresses over IPv4 addresses. When set to true, and if hostnames are not configured, IPv6 VIP addresses are added to the outbound SSH configuration.

    The VIP addresses can be on the same subnet as the cluster nodes or on a different subnet. The VIP addresses can also be on different subnets from each other.

    Note: Configuring IPv6 addresses is not supported in AWS.
  11. (Optional) If you want to use multiple VIP addresses for generic ingress or if you are connecting two separate networks with individual NICs, configure the additional VIP address for NETCONF.

    Where:

    ingress-vip is used to configure an additional VIP address to be used for NETCONF. When more than one ingress-vip addresses are defined, you can configure one VIP address to be used to connect to the GUI and the additional VIP address to be used for NETCONF access.

    oc-term-host is the VIP address that you want to use for NETCONF.

    The address configured for NETCONF is added to the outbound SSH configuration used to adopt devices.

    If your cluster is connected to two networks with dual NICs, configure the additional VIP address for generic ingress. The generic-ingress-vIP VIP address configured first in step 5 is used to access the GUI and NETCONF, by default. To use the VIP address of your second network for NETCONF access, configure the netconf-vIP VIP address of your second network as explained in this step.

    Note: The use of multiple NICs is not supported in AWS.
  12. (Optional) If your cluster nodes are in different subnets, configure BGP peering between the ToR router and the cluster nodes using the metalLB agent running in each cluster node. In this example, as illustrated in Figure 2, cluster nodes 1 and 2 are served by ToR1 and cluster nodes 3 and 4 are served by ToR2.

    Where:

    enable-l3-vip enables L3 VIP addresses for cluster nodes and VIP addresses in different subnets.

    metallb-bgp-peer and metallb-bgp-peer-ipv6are the IP and IPv6 addresses of the ToR routers, respectively.

    peer-asn is the ToR AS number.

    local-asn is the AS number of the cluster nodes. The AS number remains the same for all the cluster nodes.

    local-nodes are the cluster nodes IP addresses configured in step 3.

    Note: On AWS, BGP peering and ToR integration does not need to be configured.
  13. (On AWS) Enable external load balancer.

    The last two commands are hidden. Typing ? will not display these options and pressing tab will not auto-complete these commands.
    Note: Using an external load balancer is possible on deployments running on Proxmox VE, KVM, and ESXi hypervisors. However, external load balancer configuration is beyond the scope of this document.
  14. Configure the scale size of your cluster. If your cluster is configured with the bare minimum resources required to install a cluster, the scale mode of the cluster is small. The scale mode is set to small by default and you can skip this step.

    If you want to install a cluster that supports more devices and you have at least 32 vCPUs and 64-GB RAM, you must change the scale mode to large.

    For a single node deployment, you must change the scale mode to single.

  15. (Optional) Configure the following settings for SMTP-based user management.

    Where:

    mail-server smtp-enabled enables or disables SMTP. When enabled users receive e-mail invitations to access organizations and notifications for subscribed alerts or events.

    smtp-relayhost is the name of the SMTP server that relays messages.

    smtp-relayhost-username (optional) is the username to access the SMTP (relay) server.

    smtp-relayhost-password (optional) is the password for the SMTP (relay) server.

    smtp-allowed-sender-domains are the e-mail domains from which Routing Director sends e-mails to users.

    smtp-sender-email is the e-mail address that appears as the sender's e-mail address to the e-mail recipient.

    smtp-sender-name is the name that appears as the sender’s name in the e-mails sent to users from Routing Director.

    papi-local-user-management enables or disables local-user management. When disabled, users are invited, over e-mail, to set their own passwords to log in to an organization. SMTP must be enabled for users to receive e-mails.

    Note:

    SMTP configuration is optional at this point. SMTP settings can be configured after the cluster has been deployed also. For information on how to configure SMTP after cluster deployment, see Configure SMTP Settings in Deployment Shell.

  16. (Optional) Install custom user certificates. Note, before you install user certificates, you must copy the custom certificate file and certificate key file to the Linux root shell of the node from which you are deploying the cluster. Copy the files to the /root/epic/config folder.

    Where:

    user-certificate-filename is the user certificate filename.

    user-certificate-key-filename is the user certificate key filename.

    Note:

    Installing certificates is optional at this point. You can configure Routing Director to use custom user certificates after cluster deployment also. For information on how to install user certificates after cluster deployment, see Install User Certificates.

  17. (Optional) Configure and enforce security between the PCE server and Path Computation Clients (PCC) using system generated certificates.

    Where:

    pce-server-global-default-tls-mode enables PCEP security. You can set it to auto-detect or strict-enable. It is set to strict-disable, by default.

    Note:

    Enabling PCEP security is optional at this point. You can configure Routing Director to enforce PCEP security after cluster deployment also. Additionally, you can enforce PCEP security using custom certificates. For information on enabling PCEP security using system generated or custom certificates after cluster deployment, see Enable PCEP Security.

  18. (Optional) You can manually change the port number associated with NETCONF access from the default port number 2200.

    The alt-netconf-port port number configured for NETCONF is added to the outbound SSH configuration used to adopt devices.

    Note: Ensure that you configure an unused and non-reserved port number.
  19. (Optional) If your VMs or network devices use the 10.96.0.0/12 or 10.244.0.0/16 ranges, you must specify a different CIDR block for the Kubernetes pods and services.

    Where:

    kubernetes-pod-cidr and kubernetes-service-cidr IP addresses should not be in the defined ranges. For example, 10.97.0.0/16 or 10.255.0.0/16. Note, both these commands are hidden and typing ? will not display these options and pressing tab will not auto-complete these commands.

    Note: You must configure custom CIDR ranges during a fresh installation of Routing Director. We do not support configuring these post-cluster deployment.
  20. Commit the configuration and exit configuration mode.

  21. Generate the configuration files.

    The inventory file contains the IP addresses of the VMs.

    The config.yml file contains minimum Routing Director deployment cluster configuration parameters that are required to deploy a cluster.

    The request deployment config command also generates a config.cmgd file in the config directory. The config.cmgd file contains all the set commands that you have executed. If the config.yml file is inadvertently edited or corrupted, you can redeploy your cluster using the load set config/config.cmgd command in the configuration mode.

  22. Generate SSH keys on the cluster nodes.

    When prompted, enter the SSH password for the VMs. Enter the same password that you configured to log in to the VMs.

    Note:

    If you have configured different passwords for the VMs, ensure that you enter corresponding passwords when prompted.

  23. Deploy the cluster.

    The cluster deployment begins and takes between one and two hours to complete.

  24. (Optional) Monitor the progress of the deployment onscreen.

    The progress of the deployment is displayed. Deployment is complete when you see an output similar to this onscreen.

    Alternatively, if you did not choose to monitor the progress of the deployment onscreen using the monitor command, you can view the contents of the log file using the file show /epic/config/log command. The last few lines of the log file must look similar to the sample output. We recommend that you check the log file periodically to monitor the progress of the deployment.

  25. Upon successful completion of the deployment, the application cluster is created. Log out of the VM and log in again to Deployment Shell.

    The console output displays the Deployment Shell welcome message and the IP addresses of the four nodes (called Controller-1 through Controller-4), the Active Assurance TAGW VIP address, the Web admin user e-mail address, and Web GUI IP address. If IPv6 addresses are configured, the welcome message displays the IPv6 VIP addresses as well.

    The CLI command prompt displays your login username and the node hostname that you configured previously. For example, if you entered Primary1 as the hostname of your primary node, the command prompt is root@Primary1 >.

You can now verify the cluster deployment and log in to the Web GUI. If you are accessing the Web GUI from an external IP address, outside the Routing Director network, you must use NAT to map the external IP address to the Web GUI IP address.

What's Next

To verify the deployment and log in to the Web GUI, go to Log in to the Web GUI.