Cloud agnostic cloudSwXtch Install

Prev Next

WHAT TO EXPECT

In this article, users will learn how to install a cloudSwXtch instance on an existing Linux Ubuntu 24.04 virtual machine. This installation procedure can be used on any cloud. As with any BYOL deployment, it requires a license file from swXtch.io. For more information about VM prerequisites, please see the cloudSwXtch System Requirements.

Pre-Installation Step: Create the environment

What is needed:

  • For Pre-requisites see cloudSwXtch System Requirements.

  • VM must be Ubuntu 24.04

  • The VM needs an internet connection

  • The user must be able to log into the VM using SSH

All the prerequisites are described in more detail in the cloudSwXtch System Requirements page.

Cloud Specifics for OCI

When creating the VM you MUST select “Hardware-assisted (SR-IOV) networking” in the “Advanced” section in the “Networking” tab.

Cloud Specifics for GCP

A cloudSwXtch instance can’t have both NICs on the same VPC due to  a GCP limitation. Two subnets, each on different VPC network is needed. The subnets can be peered (single-subnet operation; 1 NIC on each agent) or not (higher performance; 2 NICs on each agent)

Prerequisites

Users must install and enable Docker on their Ubuntu VM. Please see  "How to Install Docker on RHEL and Ubuntu".

NOTE

The installation script can also install all dependencies, including Docker, if the argument  --auto_deps is used in the swx-install.sh line. See the STEP TWO.

STEP ONE: Prepare the installation by updating the OS

  1. Update all of the currently installed OS packages

    apt update && apt upgrade -y
  2. Reboot VM

    sudo reboot now

STEP TWO: Install cloudSwXtch

In this step, users will execute commands in their VMs to manually install a cloudSwXtch instance.

  1. Connect to the VM instance that will be used as a cloudSwXtch.

  2. Enter the following commands to download the cloudSwXtch installer script:

    1. The recommended method will install with dependencies but without persisting configuration data:

      token="si=RDONLY&spr=https&sv=2021-06-08&sr=c&sig=xyPF7SyI1cagUAEIZViqCHz7RroFTy2Fkltn2wwvMzc%3D"
      ver="v4.0.0"
      curl -X GET -H "x-ms-date: $(date -u)"  "https://sdmcdevstorage.blob.core.windows.net/imagebuilder/swx-swxtch-${ver}.tar.gz?$token" -o /tmp/swx-swxtch-${ver}.tar.gz 
      tar -xvf /tmp/swx-swxtch-${ver}.tar.gz -C /tmp; /tmp/swx-swxtch-${ver}/swx-install.sh --auto_deps
      1. If the dependencies are already in place, the --auto_deps can be omitted

      2. If persistent configuration data is needed, --persist should be added to the last line.    

  3. Upon success, the system will automatically reboot.

  4. After reboot, validate that the cloudSwXtch is running using the command below and checking that the status is OK:

    swx-top
    1. Expand the top bar by clicking on the [+] or pressing F2, and take note of the cloudSwXtch ID. This will be needed when creating a valid license for the system.
      Expanding Information bar
      This will reveal:
      cloudSwXtch ID revealed

    2. Alternatively, if the user does not want to open swx-top, the following commands can be used on the console to get the cloudSwXtch ID:

      curl -s http://127.0.0.1/api/top/dashboard | grep -m 2 -Eo '"fingerprint"[^,]*' | head -1

STEP THREE: Contact swXtch.io for a license

Users will need to contact swXtch.io for a license file. For more information, see Licensing a cloudSwXtch.

NEXT STEPS

The cloudSwXtch is ready to use. The next step is to install the xNIC on each client expected to get traffic from the cloudSwXtch, and swXtchBridge if needed. See Installing xNIC for more information on preparing clients.