The following sections provide details on installing Omnia using CLI. If you want to install the Omnia appliance and manage workloads using the Omnia appliance, see INSTALL_OMNIA_APPLIANCE and MONITOR_CLUSTERS files for more information.
Ensure that all the prequisites listed in the PREINSTALL_OMNIA file are met before installing Omnia.
Note: The user should have root privileges to perform installations and configurations.
Note: If there are errors when any of the following Ansible playbook commands are executed, re-run the commands again.
Clone the Omnia repository.
$ git clone https://github.com/dellhpc/omnia.git
Note: After the Omnia repository is cloned, a folder named omnia is created. It is recommended that you do not rename this folder.
Change the directory to omnia, by executing the following command:
cd omnia
An inventory file must be created in the omnia folder. Add compute node IPs under [compute] group and the manager node IP under [manager] group. See the template INVENTORY file under omnia\docs
folder.
To install Omnia, run the following command:
ansible-playbook omnia.yml -i inventory -e "ansible_python_interpreter=/usr/bin/python2"
By default, no skip tags are selected and both Kubernetes and Slurm will be deployed.
To skip the installation of Kubernetes, enter:
ansible-playbook omnia.yml -i inventory -e "ansible_python_interpreter=/usr/bin/python2" --skip-tags "kubernetes"
Similarly, to skip Slurm, enter:
ansible-playbook omnia.yml -i inventory -e "ansible_python_interpreter=/usr/bin/python2" --skip-tags "slurm"
Note: If you would like to skip the NFS client setup, enter the following command to skip the k8s_nfs_client_setup role of Kubernetes:
ansible-playbook omnia.yml -i inventory -e "ansible_python_interpreter=/usr/bin/python2" --skip-tags "nfs_client"
To provide password for mariaDB Database for Slurm accounting and Kubernetes CNI, edit the omnia_config.yml
file.
Note: Supported Kubernetes CNI : calico and flannel. The default CNI is calico.
To view the set passwords of omnia_config.yml at a later time, run the following command:
ansible-vault view omnia_config.yml --vault-password-file .omnia_vault_key
Omnia considers the following usernames as default:
slurm
for MariaDBThe following kubernetes roles are provided by Omnia when omnia.yml file is executed:
/home/k8snfs
, is created. Using this directory, compute nodes share the common files.Note: After Kubernetes is installed and configured, few Kubernetes and calico/flannel related ports will be opened in the manager and compute nodes. This is required for Kubernetes Pod-to-Pod and Pod-to-Service communications. Calico/flannel provides a full networking stack for Kubernetes pods.
The following Slurm roles are provided by Omnia when omnia.yml file is executed:
Note: If you want to install JupyterHub and Kubeflow playbooks, you have to first install the JupyterHub playbook and then install the Kubeflow playbook.
Commands to install JupyterHub and Kubeflow:
ansible-playbook platforms/jupyterhub.yml -i inventory -e "ansible_python_interpreter=/usr/bin/python2"
ansible-playbook platforms/kubeflow.yml -i inventory -e "ansible_python_interpreter=/usr/bin/python2"
The user has to update the INVENTORY file present in omnia directory with the new node IP address in the compute group. Then, omnia.yml has to be executed to add the new node to the cluster and update the configurations of the manager node.