Deployment Overview¶
To Deploy the MetalSoft solution, we suggest you follow this guide to get an overall understanding of the required information and steps.
Hardware/Cabling Requirements¶
Prior to the set up, we recommend the following is read and understood:
Architecture Overview
Topology
Installation of the MetalSoft Global Controller¶
The MetalSoft Global Controller requires a Kubernetes cluster as per this link to deploy successfully:
Kubernetes Cluster Requirements
In addition to this, firewall configuration needs to be set up between the Global Controller/Site Controller and the Internet (or towards an Artifactory repository).
For more information, please visit:
Deploying the MetalSoft Global Controller
Installation of the MetalSoft Site Controller¶
The MetalSoft Site Controller requires the following for a successful deploy:
Either a bare metal or VM with L2 connectivity to the management network of the Servers/Switches/Storage with the following requirements:
150GB Disk
8 vCPU
16GB RAM
Ubuntu 22.04 or higher
In addition, an already configured Datacenter record on the Global Controller.
Firewall configuration set up between the Site Controller/Site Controller and the Internet (or towards an Artifactory repository).
For more information, please visit:
Deploying the MetalSoft Site Controller
Check Connectivity¶
Once the Global and Site Controllers are set up, you can run a connectivity check by running the following on the first node of the Global Controller:
https://repo.metalsoft.io/extra/ms-prerequisite-check
Example:
# ms-prerequisite-check site-operate global-controller-hostname=demo.metalsoft.io
# ms-prerequisite-check site-operate global-controller-hostname=<global-controller-hostname> nfs-server=<nfs-server>
Checks prerequisites for operating site controller.
global-controller-hostname: (required) IP address or hostname of the global controller.
nfs-server: NFS server for use by the site controller.
# ms-prerequisite-check site-manage-switch nos=<nos> management-ip=<management-ip> username=<username> password=<password>
Checks site controller access to manage switch.
nos: (required) The switch NOS - one of (OS10, SONiC, JunOS, Cisco).
management-ip: (required) IP address of the switch management port.
username: (required) Username of the switch management admin user.
password: (required) Password of the switch management admin user.
# ms-prerequisite-check site-manage-server vendor=<vendor> bmc-ip=<bmc-ip> username=<username> password=<password> vnc-port=<vnc-port> vnc-password=<vnc-password> iso-link=<iso-link>
Checks site controller access to manage server.
vendor: (required) The server vendor - one of (Dell, HP, Lenovo).
bmc-ip: (required) IP address of the server BMC interface.
username: (required) Username of the server BMC admin user.
password: (required) Password of the server BMC admin user.
vnc-port: VNC service port. [default: 5901]
vnc-password: VNC password.
iso-link: Link to an ISO to test mounting virtual media.
Create Datacenter Record¶
Datacenters are the root object for almost all elements that MetalSoft operates with.
You can create a Datacenter either via the UI or via the CLI.
For more information, please visit:
Adding a new datacenter
The minimum requirements for a Datacenter are listed in this link:
Creating a datacenter record using the CLI
We recommend a minimum of two NTP servers and two DNS Servers due to limitations in some OS installations.
Copy one liner and run on Site Controller.
By running the one-liner on the Site Controller, you are registering the Site Controller with the Datacenter on the Global Controller.
To do this, follow this link:
Installing the datacenter Site Controllers on the datacenter Site Controller machine
Once this is completed, you can log into the admin UI of the Global Controller and click on Datacenters on the left, then the Datacenter name and click on Datacenter Agents to check all are showing as Connected.
Create Users/Accounts¶
Once the Global Controller and Site Controllers are connected, you can log into the Admin UI of the Global Controller and click on Users & Permissions on the left, then click on Users and “Add User”. Default roles of “root”, for admin users and “user” for users who can only log into the User UI are pre-defined, but you can set up new custom roles.
When you have set up the users, you can then set up Accounts by clicking on Accounts/Add account and then add users to the account.
For more information, please visit:
Users and Permissions
Register Switch templates (if applicable)¶
If you are using switches where you will require deployment via ZTP, we can assist you set up and register switch templates for your environment.
Create Subnets¶
Initially, there will be a requirement to set up a minimum of two Subnets on the Global Controller (three if using Switch ZTP).
These can be found by logging into the Admin UI of the Global Controller and clicking on Subnets on the left.
These are:
WAN Subnet pools Minimum of 1 IPv4 and 1 IPv6 (you can set up a dummy IPv6 if not using IPv6) – This is for the servers to use for Internet
OOB Subnets – This is a pool of IP addresses for MetalSoft to assign to the BMC port of the servers and management ports of switches
Switch Subnet Pools – Used during switch ZTP process
SAN Subnet Pools - Used for storage
VRFs. - Used to set up VRF’s
You can blacklist ranges or individual IP addresses if there are already IP’s assigned in this range.
Register Switches¶
The next step is to either register or ZTP switches.
If ZTP’ing switches, we can assist you with this.
If you are registering switches which are already set up, then you can add the switch using the CLI (which is the preferred method) by following these instructions:
Adding a switch using the CLI
The minimum which must be configured on a switch which is to be registered into MetalSoft rather than ZTP’ed is a management IP address, a user and password for MetalSoft which gives sufficient access for us to manage the switch, any uplink information (if part of an existing infrastructure) and Restconf or similar so we can connect to the switch.
Register Servers¶
Servers can either be registered using ZTP or via manual registration.
When registering using ZTP, you will need the server to be in DHCP mode and you would need the MAC address of the BMC nic and the username and password of the BMC.
Once the BMC starts to send DHCP requests, MetalSoft will then register the servers.
For instructions to set ZTP up, please follow the instructions in the following link:
Registering servers using ZTP
When manually registering, you will need to know the IP address of the BMC as well as the username and password.
For instructions to manually register servers, please follow the instructions in the following link:
Adding a new managed server
Register Storage (If applicable)¶
MetalSoft supports various storages which are published within our HCL.
To register storage within MetalSoft, please follow the instructions in this link:
Adding a new storage pool
Register OS templates¶
MetalSoft offer some pre-created OS templates which can be registered in MetalSoft from our Git repository. Both admins and customers can create their own OS templates if they are familiar with creating unattended OS images.
For instructions to download and register the pre-created OS templates, please follow the instructions in this link:
Managing OS templates
We also have lots of useful information to create your own OS templates in the pages from this link:
OS Templates
Set up network profiles (if applicable)¶
Network profiles expand the default behaviour of the network provisioning process to include more complicated scenarios such as configuring a list of VLANs to be terminated on the ports, which external connections to use, which VLANs should be the default VLAN on the ports etc.
This allows customers to bridge infrastructures, connect them to on-premises networks and much more.
For instructions to set up and manage Network Profiles, please follow the instructions in this link:
Managing network profiles
Test deployment of OS in Infrastructure Editor¶
Once all the parts of your infrastructure have been registered within MetalSoft, it is time to test the deployment of an OS on a server (and additionally test storage and network configuration).
The steps taken can vary, down to the setup which has been created.
Please see some testing processes here:
Post upgrade testing
Summary¶
We offer many other features within MetalSoft and our documentation will give you invaluable insight into how you can use MetalSoft.
We always suggest you view the release notes here to keep up to date with new features:
Release notes