This is an old revision of the document!
Table of Contents
VirtualBox Linux Lab
The mission is this Lab is to create genuine hands-on experience for hands-on learnings who want to learn to use Ansible to create auto-installing Ubuntu ISOs and use them to stand up a server lab in Oracle VirtualBox.
Mission:
- Install Ansible and other required packages on a new Ubuntu system
- Prepare ssh keys for managing the Ansible servers
- Install VirtualBox using Ansible
- Customize the user-data for unattended installation
- Create a custom Ubuntu server ISO that automatically installs
- Deploy our first Ubuntu VM to OracleBox
- Test our first Ubuntu VM
- Delete our first Ubuntu VM
- Deploy our first fleet of VMs
- Deploy an application to our fleet of VMs
Materials:
- NUC
- Recommend a more powerful NUC with 16GB RAM and 500GB disk space
- Yes you can create an VM in VMware and run Oracle Virtualbox,,,
- IF you enable “Virtualize Intel VT-x/EPT or AMD-V/RVI” under Settings > Processors in VMware
- BUT However, I had issues the network connectivity on the Oracle guests, both bridging and NATting. Setting the promiscuous mode settings on the Virtualbox guest didn't solve the issue.
References:
Project Overview
Before starting the Lab, you might review Preparing NUCs for Labs. The will help you prepare all the NUCs for use.
Make sure virtualization is enabled in BIOS.
For example on a NUC: Advanced > Security > Security Features
- Intel® Virtualization Technology
- Intel® VT for Directed I/O
Initial Setup of Your Host System
You will need to set up a large-ish Ubuntu system. This will be home to the Oracle VirtualBox virtual machines (VM's). I used a NUC but you can use any Ubuntu system. This system will also be the Ansible controller for this lab.
See Tutorial: Install Ubuntu Desktop
It's a good idea to use a “minimal installation” of Ubuntu for this Lab. 16GB RAM and 500GB+ storage will allow you create a number of VMs of 2GB RAM each.
Once installation is complete, follow best practice to upgrade software packages on the system. Open Terminal and enter the commands below.
sudo apt update sudo apt upgrade -y
Optionally, enable ssh so you can SSH to this system. Open Terminal and enter the commands below.
sudo apt update sudo apt install openssh-server -y
Install Packages and Create Keys for Ansible Management
- Add repository for Ansible
sudo apt-add-repository ppa:ansible/ansible
- Install required packages
sudo apt update && sudo apt upgrade -y
sudo apt install vim p7zip xorriso ansible -y
- Create the user
ansible
and switch to the user (learn more at this link)sudo useradd -m -s /bin/bash ansible
sudo passwd ansible
su - ansible
- Create the ssh key ansible will use to connect to your VMs
ssh-keygen -o
- accept default settings and do not enter a passphrase
- Use
cat ~/.ssh/id_rsa.pub
to get your public key- Looks like “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDKwEYxgppj+um+/W8LLxRpwZ2887IJirfJjFBkE30UeCZ0D1JS2RTMn4QEK1EAphByGxnmCruTL36aLMTO0FNH4IW+017/7wNY4JjRzRssZSMqmdjH4nhYV22JDIWh428p93FLsgqM+ud0Mj06KgJfa4BQtSvnR/p/4AXYzFTwzE+kyussIiOi+uT20AXNEIxk4ps39xhLGc6XNFo1xhtGvTZ9+Jx7AanVht090HuRuxNmOTd260mbeBJUKRF57d9tzZ68YRQiokIunkNF2skfJOZEUaIOWUoGGIWPMlEUEC0RhyW+7Ljmp7RbIOZ45CV0MYZEpKx4KQ61/CoMY4wKBCM90SwxJQwM3CZCseqcVnpFYKpFd6dnn0v0XsmINCU+y1RXYLfsOHEhLTm5WK9ERi5yr/1OjKkId+xZrf7D/v2soQdHsc82d+otbTDXzHYPduc2DfstJg5QFCECNrsEPRishAh2Lm2GJ3h0Pj20loyYeKWlUJpbLjd5A5Mnk9E= ansible@labbox”
- Save this key - you will use it when you create the custom Ubuntu ISO
Install Oracle VirtualBox using Ansible
Follow steps here: Install Oracle VirtualBox using Ansible
Note: There are many references out there if you don't want to use Ansible to install VirtualBox (e.g., https://linuxconfig.org/install-virtualbox-on-ubuntu-22-04-jammy-jellyfish-linux)
Customize the user-data File for Unattended Installation
Follow steps here: Customize user-data for Ubuntu Unattended Install
Generate Custom Unattended Ubuntu Install ISO
Follow steps here: Generate Custom Unattended Ubuntu Install ISO
Deploy our first Ubuntu VM to Oracle VirtualBox using Ansible
Follow steps here: Deploy Ubuntu unattended uninstall image to Oracle VirtualBox using Ansible
Test our first Ubuntu VM
Follow steps here: Test the First Ubuntu VM
Delete our first Ubuntu VM
Follow steps here: Delete the first Ubuntu VM using Ansible
Deploy our first fleet of VMs
Follow steps here: Deploy a Fleet of VMs