Flow on-premises manual installation

Tags: Flow on-prem

Before you being your Flow Enterprise on-premises installation, make sure to carefully read through the system requirements.


Preinstallation instructions

  1. If you're using an external database, have your database administrator complete the necessary steps to prepare the database.
  2. Download the latest copy of the Flow Enterprise enterprise tools. This will be provided by your customer service representative.
  3. For the host server, copy:  flow-enterprise-tools-<channel>[-airgap]-<version>.tar.gz to the home directory of the user account used for the installation on the host server.
  4. Extract the tools file: tar xvf flow-enterprise-tools-<channel>[-airgap]-<version>.tar.gz 
  5. Create the following directories. These can all be bundled in a single volume
    app directory (default: /opt/flow)
    mkdir -p [app_directory]
    chmod 755 [app_directory]
  6. If you're on an embedded database, make a database directory (default /opt/flow/database) on the primary host server only
    mkdir -p [database_directory]
    chmod 725 [database_directory]

back to top


Install KOTS

You only need to install KOTS on the primary node.

  1. To install the application, open a command prompt, and run the following:
    cd flow-enterprise-tools
    sudo ./flow-tools.sh install -f

    If you are installing the airgapped version of Flow, use
    cd flow-enterprise-tools
    sudo ./flow-tools.sh install -a -f

This install script will output several items you should take note of:

  • Initial administrative password. You can change this password later.
  • URL for logging in to the Flow application
  • For multi-node installations, take special note of the join script output towards the end of the messages output.

A log file called flow-install-stable.log will be created in the same directory in which the script was executed. Save this log file in case of failures later.

Note: For a full list of install flags, run: sudo ./flow-tools.sh install--help.

Multi-node instructions (skip if single-node)

It is simple to scale to multiple nodes if it is necessary for your installation, but most customers are happy with single node installations. Please contact support@pluralsight.com if you would like to discuss your implementation and what is best for you.

For each worker node, you need to join the node to the cluster:

  1. Change directory into the extracted flow-enterprise-tools directory using cd flow-enterprise-tools
  2. Run the following command on the primary node to get the most up-to-date join command. The authentication tokens expire in 24 hours.
    On the primary node, run flow-tools.sh join -g. Copy and paste the output to the worker node and modify the install flags as needed to provide proxy settings, etc. 
  3. On the primary node, you will need to add the label by running kubectl label node [primary_node] gui=true
  4. You will also need to label each worker node by running kubectl label node [worker_node] worker=true
  5. Run $ kubectl get nodes to confirm that the nodes are added to the cluster on the primary node.
  6. If you want to immediately utilize the resource of the worker node you added, rebalance the workload by deleting some of the worker pods on the primary node. This step is optional.
    To rebalance the workload use the following command: $ kubectl get pods| grep flow- | awk '{print $1}' | xargs -I {} kubectl delete pod {} --wait=false.
    Once this command completes, you can use the following watch command to observe pods getting distributed across worker nodes: $ watch kubectl get pods -o wide.

back to top


Validate installation

The next step is to ensure that kubectl has been properly set up in order to validate Kubernetes was installed correctly.

  1. Configure kube config for the current user by running ./kube-config.sh -c 
  2. To verify the installation was successful, log out as a normal user (not root) and then log back in. You should be able to run kubectl get pods command and successfully receive an output.

Note: For a full list of kube-config.sh flags, run ./kube-config.sh --help.

back to top


Configure the KOTS app

Configure TLS

  1. Open your Chrome browser to http://[ip.address]:8800. Use the IP address from the primary node.

    Note: You will receive an error saying your connection is not private. We use a self-signed SSL/TLS Certificate to secure the communication between your local machine and the Admin Console during setup. You can be confident that this is secure. Click Advanced then click Proceed to continue to the Admin Console.
  2. On the next screen, enter the following information from the Before you begin steps:
    1. Your hostname
    2. Upload your key and certificate
  3. Click Upload & Continue.

Log in to the KOTS Admin Console

Note: The browser should redirect to the main KOTS Admin Console, where there is a prompt for login. If not, navigate to https://[hostname]:8800

  1. Enter the password that was provided during installation at the end of the installation script output.
  2. Upload the license file provided by your Flow customer representative.
  3. On the following screen, there are two options for installing Flow. If your server doesn't have internet access, choose the airgapped environment option and upload the pre-downloaded airgapped binary zip file. Otherwise, click on the download from the internet link to continue.

Set up Flow configurations

From your KOTS Admin console, navigate to the Configs page.

We recommend the following configuration changes:

  • The Flow URL must match the fully qualified domain name registered earlier.
  • Provide a valid email address to receiving email alerts.
  • Click on Email settings to provide the details of the SMTP/Email server port, credentials, protocol and other details.
  • If there is a proxy involved, check the Use an outbound HTTP/HTTPS Proxy button and add the details.
  • Enter the details for the external Postgres database

Once you've finished making your configuration changes, click Continue.

back to top


Deploy Flow

After saving your KOTS configurations, you will then be brought back to the preflight check screen.

  1. Click Go to new version.
  2. Click Continue.

  3. To monitor the deployment process, you can run kubectl get podsto see each pod's status.
  4. Once all pods are running you will be able to start Flow.

Log in to Flow

  1. Navigate to your URL
  2. Enter your organization name, the primary email, and choose a password to login.

This is a great to connect with your Pluralsight Flow representative to connect on next steps for your trial or onboarding experience. For steps to getting started with Flow, check out our Getting Started guide.

back to top


If you need help, please email support@pluralsight.com for 24/7 assistance.