omnia_config.yml¶
This file controls the deployment of Slurm and Kubernetes across cluster nodes.
Parameter reference¶
Slurm Configuration Parameters¶
|
Parameter |
Details |
|---|---|
|
slurm_cluster list / elements=dict / required |
List of slurm cluster configurations. |
|
cluster_name string / required |
Unique name for the slurm cluster. |
|
nfs_storage_name string / required |
Indicates the NFS storage name for the NFS storage to be used by this slurm cluster. |
|
vast_storage_name string |
Storage name corresponding to the VAST storage to be used by slurm cluster. |
|
skip_merge boolean |
Variable indicates whether a specific configuration file path under config_sources should be used as-is without merging |
|
config_sources dict/str |
Config can be a file path or inline mapping Value can be: str (File path string) or dict (Inline configuration mapping). |
|
node_discovery_mode string |
Node hardware discovery mode. 'homogeneous' for group-based discovery, 'heterogeneous' for individual node discovery. Default: heterogeneous |
|
node_hardware_defaults dict |
|
|
<node_hardware_defaults_key> dict |
Hardware specifications for homogeneous node groups. Key is group name (grp0-grp100) |
|
sockets integer / required |
Number of CPU sockets per node Minimum: 1. |
|
cores_per_socket integer / required |
Number of CPU cores per socket Minimum: 1. |
|
threads_per_core integer / required |
Number of CPU threads per core Minimum: 1. |
|
real_memory integer / required |
Memory in MB (exact value to use in Slurm) Minimum: 1. |
|
gres string |
GPU resources in format 'gpu:N' (optional) |
Kubernetes Configuration Parameters¶
|
Parameter |
Details |
|---|---|
|
service_k8s_cluster list / elements=dict / required |
List of service Kubernetes cluster configurations. |
|
cluster_name string / required |
Name of the cluster on which you want to deploy Kubernetes. This input is case-sensitive. Do not add any special characters except |
|
deployment boolean |
Indicates if Kubernetes will be deployed or not. Accepted values: |
|
etcd_on_local_disk boolean / required |
Determines whether ETCD is deployed on local disk or NFS storage. Accepted values: Default value: When set to When set to Important
|
|
k8s_cni string / required |
Kubernetes SDN network. Accepted values: Default value: |
|
pod_external_ip_range string |
These addresses will be used by the loadbalancer for assigning external IPs to Kubernetes services. Ensure that the IP range provided is not assigned to any node in the cluster. Ensure that the Sample values: |
|
k8s_service_addresses string / required |
Kubernetes internal network for services. This network must be unused in your network infrastructure. Default value: |
|
k8s_pod_network_cidr string |
Kubernetes pod network CIDR for internal network. When used, it will assign IP addresses from this range to individual pods. This network must be unused in your network infrastructure. Default value: |
|
nfs_storage_name string |
Use same name as mentioned in each of the |
|
csi_powerscale_driver_secret_file_path string |
If you want to deploy the CSI driver for PowerScale on your service cluster, add the file path of the |
|
csi_powerscale_driver_values_file_path string |
If you want to deploy the CSI driver for PowerScale on your service cluster, add the file path of the |
|
k8s_crio_storage_size string / required |
Specifies the disk size allocated for CRI-O container storage. |
Usage example¶
---
slurm_cluster:
- cluster_name: slurm_cluster
nfs_storage_name: nfs_slurm
vast_storage_name: vast_storage
# Optional: Override Slurm and cgroup configuration
config_sources:
slurm: /path/to/custom/slurm.conf
cgroup: /path/to/custom/cgroup.conf
# slurm:
# SlurmctldTimeout: 60
# SlurmdTimeout: 150
# Optional: Override hardware specs for specific node groups
node_hardware_defaults:
grp1:
sockets: 2
cores_per_socket: 64
threads_per_core: 2
real_memory: 512000
gres: "gpu:4"
grp2:
sockets: 2
cores_per_socket: 32
threads_per_core: 2
real_memory: 256000
service_k8s_cluster:
- cluster_name: service_cluster
deployment: true
etcd_on_local_disk: false
k8s_cni: "calico"
pod_external_ip_range: "172.16.107.170-172.16.107.200"
k8s_service_addresses: "10.233.0.0/18"
k8s_pod_network_cidr: "10.233.64.0/18"
nfs_storage_name: "nfs_k8s"
k8s_crio_storage_size: "20G"
csi_powerscale_driver_secret_file_path: ""
csi_powerscale_driver_values_file_path: ""
Info
- Software Config -- Package-level software selection.
- Slurm Conf -- Custom Slurm configuration.
- HA Config -- Kubernetes high-availability settings.