Automated Virtual Installation¶
This automated installer provides you with an easy way to install StarlingX r9.0 in different configuration options in a virtual environment.
Physical host requirements and setup¶
This section describes how to prepare the physical host and virtual environment for an automated StarlingX r9.0 virtual deployment in VirtualBox.
The following sections describe the system requirements and host setup for a workstation hosting virtual machine(s) where StarlingX will be deployed.
Hardware requirements¶
The host system should have at least:
Processor: x86_64 only supported architecture with BIOS enabled hardware virtualization extensions
Cores: 8
Memory: 32GB RAM
Hard Disk: 500GB HDD
Network: One network adapter with active Internet connection
Software requirements¶
The host system should have at least:
A workstation computer with Ubuntu 20.04 LTS 64-bit
Host setup¶
Set up the host with the following steps:
Update OS and install dependencies:
apt-get update sudo apt install -y virtualbox socat git rsync sshpass openssh-client python3-pip python3-venv
Clone the StarlingX tools repository:
cd $HOME git clone https://opendev.org/starlingx/virtual-deployment.git
Set up Python’s Virtual Environment:
cd $HOME/virtual-deployment/virtualbox/pybox python3 -m venv venv source ./venv/bin/activate pip install --upgrade pip pip install -r requirements.txt
Create NatNetwork:
VBoxManage natnetwork add --netname NatNetwork --network 10.10.10.0/24 --dhcp off --ipv6 on
Get the StarlingX ISO:
wget https://mirror.starlingx.windriver.com/mirror/starlingx/release/8.0.0/debian/monolithic/outputs/iso/starlingx-intel-x86-64-cd.iso -O $HOME/Downloads/stx-8.iso
Create a local copy of the config file templates.
cp -r config myconfig
Make the desired changes in the config files on the new directory.
Note
This setup guide can be found in the README.md file in $HOME/virtual-deployment/virtualbox/pybox
Installation Configurations¶
The configurations available from this script, via the --setup-type
parameter, are:
AIO-SX or “All-In-One Simplex” will set up one single VM that will be both a controller and a worker node.
AIO-DX or “All-In-One Duplex” will set up two controller VMs with one of them also being a worker.
STANDARD setup is currently under review.
STORAGE setup is currently under review.
Deployment Example¶
Procedure
The following commands are an example on how to run the script for the deployment of an All-In-One Simplex configuration.
Set the password for the StarlingX system
export STX_INSTALL_PASSWORD=<password>
The script validates the password as it must contain:
Minimum of 7 characters.
At least 1 uppercase letter.
At least 1 number.
At least 1 non-alphanumeric character.
Run the script
cd $HOME/virtual-deployment/virtualbox/pybox source ./venv/bin/activate python3 ./install_vbox.py \ --setup-type <AIO-SX/AIO-DX> \ --iso-location "$HOME/Downloads/stx-8.iso" \ --labname StarlingX --install-mode <serial/graphical> \ --config-files-dir ./myconfig/labSetupFiles/ \ --ansible-controller-config ./myconfig/ansibleFiles/<simplex/duplex>_localhost.yml \ --kubernetes-config-files ./myconfig/kubeFiles/ \ --vboxnet-type nat \ --vboxnet-name NatNetwork \ --nat-controller0-local-ssh-port <PORT_CONTROLLER0> \ --nat-controller1-local-ssh-port <PORT_CONTROLLER1> \ --password $STX_INSTALL_PASSWORD
Note
All available configuration options can be found using --help
.
Parameters as --snapshot
and --headless
may be benefitial if
working in a development enviroment.
Note
The localhost.yml
file can be modified for further configurations
during the Ansible bootstrap, refer to Ansible Bootstrap
Configurations for information on
additional configurations for advanced Ansible bootstrap scenarios, such as
Docker proxies when deploying behind a firewall, etc. Refer to Docker
Proxy Configuration for details about Docker proxy
settings.
Important
In a machine with the physical host requirements described on this page, the script will take 60 to 90 minutes to be fully completed (from creating a VM and installing an OS to configuring StarlingX). The total amount of time will depend on the deployment configurations. Several restarts will occur, and a VirtualBox window with a prompt may appear.
Results
After the completion of the script your StarlingX cluster is now up and running.
Dashboards¶
Starlingx Horizon GUI¶
The script automatically sets up a port-forwarding rule in VirtualBox for
accessing the StarlingX Horizon GUI. The default port is 8080
, if none was
chosen.
Access the StarlingX Horizon GUI with the following steps:
Procedure
Enter the the following address in your browser:
http://localhost:8080
.Log in to Horizon with an admin/<sysadmin-password>.
Kubernetes Dashboard¶
The script automatically sets up a port-forwarding rule in VirtualBox for
accessing the Kubernetes dashboard. The default port is 32000
, if none was
chosen.
Procedure
Enter the the following address in your browser:
http://localhost:32000
.Log in to the Kubernetes dashboard using the
admin-user
token.The token can be found in the token.txt file sent to $HOME in the host machine.