Hostname | vCPU | Memory | Storage | NIC | Management | VLAN 10 | Boot Order |
---|---|---|---|---|---|---|---|
jh-maas001 | 4 | 4GiB | 40GiB | 1 | 10.10.0.10 | - | Disk |
jh-juju-controller001 | 2 | 4GiB | 40GiB | 1 | 10.10.0.11 | - | PXE |
jh-openstack-controller001 | 4 | 8GiB | 40GiB | 2 | 10.10.0.12 | 192.168.10.12 | PXE |
jh-hyperconverge001 | 6 | 8GiB/16GiB | 40GiB Root, 3x 25GiB OSD | 2 | 10.10.0.13 | 192.168.10.13 | PXE |
jh-hyperconverge002 | 6 | 8GiB/16GiB | 40GiB Root, 3x 25GiB OSD | 2 | 10.10.0.14 | 192.168.10.14 | PXE |
jh-hyperconverge003 | 6 | 8GiB/16GiB | 40GiB Root, 3x 25GiB OSD | 2 | 10.10.0.15 | 192.168.10.15 | PXE |
Operating System | Ubuntu 20.04 LTS (Focal) |
---|---|
OpenStack Version | Yoga |
Ceph Version | Pacific |
Hypervisor | KVM |
MAAS Version | 3.2 |
Juju Version | 2.9.35 |
MAAS, which stands for metal-as-a-service, is a tool developed by Canonical for server provisioning which has reliability to deliver a fast and optimized operating system installation. MAAS is also an open source software mostly build in python language. MAAS treats bare metal (physical server) like virtual machines or instances in the cloud, so think of MAAS like KVM virt manager but it used for provisioning bare metal.
MAAS supports major system BMCs and chassis controllers, MAAS implements all the standard features of a public cloud — like instance metadata and cloud-init.
Juju is also an open source tool developed by Canonical which is an orchestration tool that can build and manage software-based infrastructure on cloud or bare metal. Juju allows you to model, configure, manage, maintain, deploy and scale cloud services quickly and efficiently on public clouds as well as on MAAS, OpenStack, and LXD containers.
Juju uses charms to deliver applications to the machines, charms are software bundled with operational knowledge such as install, maintain, upgrade, pause, configure and integrating with other applications.
MAAS & Juju have high reliability at the enterprise level as they make it easy for you to manage your bare metal as well as the software.
Configure SSH config file
cat << 'EOF' > $HOME/.ssh/config
# Global Config
Host *
User ubuntu
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
ServerAliveInterval 10
TCPKeepAlive yes
LogLevel ERROR
# Global Config
EOF
Create new SSH keypair
# If you want passwordless keypair just hit enter till the end
ssh-keygen
Add the repository and then install MAAS packages
apt-add-repository ppa:maas/3.2
apt-get -y install maas maas-region-controller maas-rack-controller net-tools jq
apt-mark hold maas maas-region-controller maas-rack-controller postgresql-12
Create temporary statistic file
bash -c cat << 'EOF' > /etc/tmpfiles.d/postgresql-part.conf
## Directory for PostgreSQL temp stat files
d /run/postgresql/12-main.pg_stat_tmp 0700 postgres postgres - -
EOF
systemd-tmpfiles --create /etc/tmpfiles.d/postgresql-part.conf