.. | ||
libvirt | ||
provision | ||
virtualbox | ||
README.rst |
StarlingX Deployment in Virtualized Environments
A StarlingX system can be installed in a variety of platforms with the following deployment options:
- Standard Controller
- Dedicated Storage
- Controller Storage
- All-in-one
- Duplex
- Simplex
Deployment options uses a variety of configurations based on 3 node identities:
- Controller
- Storage
- Compute
Standard Controller :: Dedicated Storage
The software installation workflow for an initial Ceph-backed block storage on dedicated storage nodes is:
- Controller-0 Installation and Provisioning
- Controller-1 / Compute Host / Storage Host Installation
- Controller-1 Provisioning
- Provider Network Configuration
- Compute Host Provisioning
- Storage Host Provisioning
Standard Controller :: Controller Storage
The software installation workflow for an initial LVM-backed block storage on controller nodes is:
- Controller-0 Installation
- Controller-0 and System Provisioning
- Controller-1 / Compute Host Installation
- Controller-1 Provisioning
- Compute Host Provisioning
All-in-one :: Duplex
The software installation workflow for two combined controller / compute nodes is:
- Controller-0 Installation and Provisioning
- Controller-1 Installation and Provisioning
All-in-one :: Simplex
The software installation workflow for a single combined controller / compute node is:
- Controller-0 Installation and Provisioning
Virtualization Environments
The available virtualization products where StarlingX has been deployed are:
- VirtualBox
- Libvirt/QEMU
Directory Structure
Deployment directory hosts a total of 3 directories and 18 files:
$ tree -L 3 deployment/
deployment/
├── libvirt
│ ├── compute.xml
│ ├── controller_allinone.xml
│ ├── controller.xml
│ ├── destroy_allinone.sh
│ ├── destroy_standard_controller.sh
│ ├── install_packages.sh
│ ├── setup_allinone.sh
│ └── setup_standard_controller.sh
├── provision
│ ├── simplex_stage_1.sh
│ └── simplex_stage_2.sh
└── virtualbox
├── all_in_one.conf
├── serial_vm.sh
├── setup_vm.sh
├── standard_controller.conf
├── start_vm.sh
└── stop_vm.sh
Directory: libvirt
Deployment under Libvirt/QEMU uses a set of xml files to define the node identity:
- Controller All-in-one
- Controller
- Compute
These nodes are used to create the virtual machines and the network interfaces to setup the StarlingX system:
- Setup All-in-one
- 2 Controllers
- Setup Standard Controller
- 2 Controllers
- 2 Computes
Directory: virtualbox
Deployment under VirtualBox uses a set of configuration files to define the StarlingX system:
- All-in-one Configuration
- Standard Controller Configuration
These configurations files are used to create the virtual machines and the network interfaces from a single script:
- Setup VM
Directory: provision
A set of scripts are provided to automate the provisioning of data interfaces and local storage resources for the compute function for StarlingX Duplex or Simplex.