Provisioning of bare-metal nodes
For the initial deployment of the management plane and the control plane of OSISM, the nodes must be pre-provisioned with Ubuntu 22.04. Currently, only Ubuntu 22.04 is supported by OSISM.
Data plane nodes can be automatically provisioned after the initial deployment and do not need to be pre-provisioned.
It is recommended not to install the initial nodes of the management plane and the control plane manually. An ISO image is provided for this purpose which automatically provisions a node. The ISO images are available for download in the osism/node-image repository.
Automated Installation using Node Images
There are different variants of the ISO image. The variants differ in the disc layout.
The pre-build variants are described in the osism/node-image repository.
A good way to provision the nodes is to use virtual media mounts via the usually available Redfish functionality of the BMC of the servers used. In this way, the basic installation can be carried out without external dependencies such as adapting the switch configuration, DHCP, upstream connectivity, etc. In many cases, this simplifies the process, makes it more automation-friendly and avoids potential sources of error.
OSISM also provides a tool to generate node images specific for you needs.
This makes particular sense for the node-provisioning in the following situations:
- Make complex configurations like layer3 underlay
- Add your SSH keys to the image
- Configure a specific root password
- Change other characteristics of the setup
- Templates
- Partitioning
- Packages
- ...
- Develop new standard images
The procedures for building custom images are described in the osism/node-image repository.
Manual provisioning
If none of the provided variants is suitable, this section describes the manual installation with the help of the Ubuntu 22.04 live ISO image. The manual installation is possible without network connectivity.
- Download the latest ISO image for Ubuntu 22.04 from releases.ubuntu.com.
- Use the
ubuntu-22.04.1-live-server-amd64.iso
image. - The version number may be different, always use the latest available version of 22.04 LTS.
- Use the
- Choose
English
as language. - Choose
Install Ubuntu Server
. - Choose
English as language
(again). - Choose your location (e.g.
Germany
). - Choose
en_US.UTF-8
as locale. - Choose the keyboard layout from a list, use
English (US)
. - Choose and configure the primary network interface.
- Depending on the environment, the network may not work at this point. Then select any interface
and then select
Do not configure the network at this time
in the next step.
- Depending on the environment, the network may not work at this point. Then select any interface
and then select
- Set the hostname.
- The hostname is e.g.
node
and not a FQDN likenode.systems.osism.xyz
.
- The hostname is e.g.
- Set
osism
as full name for the new user. - Set
osism
as the username for the account.- The later used operator user
dragon
is created during the bootstrap and should not be created during the installation. Do not usedragon
as username. - The account is only needed initially and can be deleted after completion of the bootstrap.
- The later used operator user
- Set a password for the account.
- Choose
Manual
as partitioning method and execute the partitioning according to company specifications- The use of a UEFI is recommended
- The use of a RAID is recommended. We prefer the use of software RAIDs to make us less dependent on hardware. But there is nothing against using hardware RAIDs.
- The use of a LVM2 is recommended.
system
is recommended as the name for the volume group. - Dedicated disks may be provided for
/var/lib/docker
on the controller nodes. In this case, do not use an LV for/var/lib/docker
but the devices provided for it. - Do not configure devices that are not required for the operating system.
- The use of own file systems for the following mountpoints is recommended. The size of the partitions/LVs
is minimal. Depending on the node type, the partitions/LVs should be made larger.
/
(10 GByte, logical volumeroot
)/home
(2 GByte, logical volumehome
)/tmp
(5 GByte, logical volumetmp
)/var/lib/ceph
(50 GByte, logical volumeceph
) (optional for storage nodes)/var/lib/docker
(30 GByte, logical volumedocker
, do not set thenosuid
flag on/var/lib/docker
)- When using XFS as the file system for
/var/lib/docker
, note the following: Running on XFS withoutd_type
support causes Docker to skip the attempt to use theoverlay
oroverlay2
driver. - 100 GB should be used on a control node at the beginning.
/var/lib/docker
must be extended later during operation depending on the node type. You do this in operation when you can see how many logs etc. are generated.
- When using XFS as the file system for
/var/log/audit
(1 GByte, logical volumeaudit
)/var
(10 GByte, logical volumevar
)swap
(8 GByte, logical volumeswap
)
- Choose
No automatic updates
. - Choose
OpenSSH server
as software to install.- Do not install any other software component. Everything you need will be installed later by OSISM. In particular, it is not necessary to install a desktop environment.
- After completion, restart the system.