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 prerequisites listed in the PREINSTALL_OMNIA file are met before installing Omnia.
Note: If there are errors when any of the following Ansible playbook commands are run, re-run the commands again.
Note: The user should have root privileges to perform installations and configurations.
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: 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 INVENTORY template 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 slurm
as the default username for MariaDB.
The following kubernetes roles are provided by Omnia when omnia.yml file is run:
/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 are 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 run:
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 run to add the new node to the cluster and update the configurations of the manager node.