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:
-
Install the Ubuntu 22.04 Server image.
-
Update the system’s libraries using the following commands:
sudo apt-get update sudo apt-get -y upgrade
Reboot your system after the upgrade.
-
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.
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