Single Node

Introduction

This guide explains the installation process for the Kloudspot software stack on a single node, whether it’s a virtual machine or a bare-metal server running Ubuntu 22.04.

Components

The Kloudspot software stack consists of the following components, which can be selectively installed:

  • KloudHybrid
  • KloudInsights
  • KloudManage

You can choose which components to install by modifying the values in the YAML file used for the Helm chart installation.

System Requirements

To ensure smooth operation, it is recommended to meet the following specifications based on your desired configuration:

Minimum Specification

  • KloudHybrid (<3000 users) or KloudManage
  • 4 cores
  • 16 GB RAM
  • 150 GB SSD/Disk (configured with LVM, with 50 GB assigned to /)

Medium Specification

  • KloudHybrid (>3000 users) or KloudInsights
  • 8 cores
  • 32 GB RAM
  • 300 GB SSD/Disk (configured with LVM, with 50 GB assigned to /)

Full System Specification

For the complete software stack, it is recommended to have:

  • 16 cores
  • 64 GB RAM
  • 1 TB SSD (configured with LVM, with 100 GB assigned to /)

System Configuration

Follow these steps to configure your system before installing Kloudspot:

  1. Install the Ubuntu 22.04 Server image.

  2. Update the system’s libraries using the following commands:

    sudo apt-get update
    sudo apt-get -y upgrade
    

    Reboot your system after the upgrade.

  3. Install the Kloudspot tools by running the following command:

    curl -s https://registry.kloudspot.com/repository/files/on-prem.sh | sudo bash
    

    Once the installation is complete, logout and log back in again.

Storage Evaluation

Two types of storage are used for the installation:

  • Shared - allocated from a dynamic NFS share backed using the OpenEBS LVM provisioner.
  • Unshared - allocated from a LVM volume group using the OpenEBS LVM provisioner.

There needs to be enough free storage available to satisfy both needs. You can use the ‘kloudspot storage’ tool to review the available storage and estimate the required storage.

sjerman@k8s-single:~$ kloudspot storage estimate
Assuming a 1 node cluster installation
Openebs not installed
?                         Do you want to install Openebs? : [? for help] (y/N)
installing OpenEBS...
Successfully installed OpenEBS.
All Pods are UP now...
Volume Groups:

- ubuntu-vg ( 498.0 GB - 398 GB free)
  on /dev/sda3
  Total Free space: 398.0 GB

Disks:
/dev/sda (500G)
/dev/sda1 (1M)
/dev/sda2 (2G) mounted as /boot
/dev/sda3 (498G) in Volume Group ubuntu-vg
/dev/mapper/ubuntu--vg-ubuntu--lv (100G) mounted as /

What features do you want to use
? Enable KloudManage No
? Enable KloudInsights No
? Enable Kloudhybrid Yes
Using ubuntu-vg for unshared volumes
Available: Shared 82 GB, Unshared 398 GB

How much storage do you want to assign to each volume
? Stream processing elasticsearch (GB) 10
? Kloudinsights database (GB) 200
Required: Shared 0 GB, Unshared 200 GB
The configuration looks OK

Prepare Kloudspot Configuration

You can use the kloudspot init command to create a configuration file for your new system. It will ask a few questions and then create a configuration file (/etc/kloudspot/values.yaml) file with the necessary configuration.

Warning

If you want to use your own StorageClass configuration, then please refer CustomStorage

sjerman@k8s-single:~$ kloudspot init
installing OpenEBS...
Successfully installed OpenEBS.
All Pods are UP now.
By default, the ingress controller will use a self signed certificate.
It is much better to use a ‘proper’ SSL certificate.

Do you want to add ssl certificate? y/n

? Enter ssl key filepath: server.key
? Enter ssl ssl cert filepath: server.cert

Initialize Kloudspot System Configuration

First basic system information...
? DNS Hostname dibble.net
? Customer Reference steve

What features should be enabled
? Enable KloudManage No
? Enable KloudInsights No
? Enable Kloudhybrid Yes
Using ubuntu-vg for unshared volumes Available:
Shared 32 GB, Unshared 49 GB

How much storage do you want to assign to each volume
? Stream processing elasticsearch (GB) 10
? Kloudinsights database (GB) 10 Required:
Shared 0 GB, Unshared 20 GB 'values.yaml'
created sucessfully.

Start Kloudspot Application

Deploy the helm chart using:

kloudspot start

The deployment will take a while to complete, use following command to monitor:

kloudspot status

Update the deploy

kloudspot update --update-helm

Uninstall the deploy

kloudspot stop