Input Parameters for the Cluster

The service_k8s_cluster depends on the inputs provided in the following files:

  • /opt/omnia/input/project_default/omnia_config.yml

  • /opt/omnia/input/project_default/security_config.yml

  • /opt/omnia/input/project_default/storage_config.yml

  • /opt/omnia/input/project_default/high_availability_config.yml

Caution

Do not remove, edit, or comment any lines in the above mentioned input files.

/opt/omnia/input/project_default/omnia_config.yml

Parameters for kubernetes setup on service Kubernetes cluster

Variables

Mandatory/Optional

Details

cluster_name

Mandatory

  • Type: String

  • Name of the cluster on which you want to deploy Kubernetes.

  • This input is case-sensitive. Do not add any special characters except _ (underscore) in the cluster name.

deployment

Mandatory

  • Type: Boolean

  • Indicates if Kubernetes will be deployed or not.

  • Accepted values: true or false

k8s_cni

Mandatory

  • Type: String

  • Kubernetes SDN network.

  • Accepted values: calico

  • Default value: calico

pod_external_ip_range

Mandatory

  • Type: 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 pod_external_ip_range defined in the omnia_config.yml file is reachable from the OpenManage Enterprise appliance and the SFM network.

  • Sample values: 172.16.107.170-172.16.107.200

k8s_service_addresses

Optional

  • Type: String

  • Kubernetes internal network for services.

  • This network must be unused in your network infrastructure.

  • Default value: "10.233.0.0/18"

k8s_pod_network_cidr

Optional

  • Type: 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: "10.233.64.0/18"

csi_powerscale_driver_secret_file_path

Optional

  • Type: File path

  • If you want to deploy the CSI driver for PowerScale on your service cluster, add the file path of the secrets.yaml file to this variable.

csi_powerscale_driver_values_file_path

Optional

  • Type: File path

  • If you want to deploy the CSI driver for PowerScale on your service cluster, add the file path of the values.yaml file to this variable.

nfs_storage_name

Mandatory

  • Type: String

  • Use same name as mentioned in each of the name available in storage_config.yml.

k8s_crio_storage_size

Mandatory

  • Type: String

  • Specifies the disk size allocated for CRI-O container storage.

etcd_on_local_disk

Optional

  • Type: Boolean

  • Determines whether ETCD is deployed on local disk or NFS storage.

  • Accepted values: true or false

  • Default value: false

  • When set to true, ETCD is deployed on local disk on all master nodes. The system prioritizes BOSS card if available, and falls back to SSD/SATA disks if BOSS is not present. The /var/lib/etcd directory is mounted on the selected local disk.

  • When set to false or omitted, ETCD storage is provisioned using NFS, and no local disk configuration is performed for ETCD.

  • Important: Migration from NFS to local disk is not supported during upgrades. This configuration is only applicable for fresh installations.

service_k8s_cluster:
   - cluster_name: service_cluster
     deployment: true
     etcd_on_local_disk: false
     k8s_cni: "calico"
     pod_external_ip_range: ""
     k8s_service_addresses: "10.233.0.0/18"
     k8s_pod_network_cidr: "10.233.64.0/18"
     nfs_storage_name: "nfs_k8s"
     csi_powerscale_driver_secret_file_path: ""
     csi_powerscale_driver_values_file_path: "
     k8s_crio_storage_size: "20G"
Parameters for slurm setup

Variables

Details

cluster_name

string

Mandatory

  • Indicates the name of the cluster.

nfs_storage_name

string

Mandatory

  • Indicates the NFS storage name for the NFS storage to be used by this slurm cluster.

  • This is defined in storage_config.yml as name.

vast_storage_name

string

Optional

  • Storage name corresponding to the VAST storage to be used by slurm cluster.

  • This should match exactly with an entry in storage_config.yml.

  • The following directories will be mounted on the VAST storage:

    • /scratch

    • /tmp

    • /home

    • /apps

    • /projects

config_sources

filepath or mapping

Optional

  • Indicates how the slurm configuration values are provided to the cluster.

  • <conf name> : <filepath> or <mapping>

    • The conf files supported by slurm are slurm, cgroup, gres, mpi, helpers, job_container, acct_gather, oci, and topology.

    • <filepath>: Supply the absolute path to a custom configuration file.

    • <mapping>: Supply the configuration values directly as a key–value map

skip_merge

boolean

Optional

  • Indicates whether a specific configuration file path under config_sources should be used without merging.

  • If skip_merge is set to true for a configuration source path, that configuration file is applied directly without merging with defaults or existing configurations.

See the following sample:

slurm_cluster:
- cluster_name: slurm_cluster
  nfs_storage_name: nfs_slurm
  config_sources:
    slurm:
      SlurmctldTimeout: 60
      SlurmdTimeout: 150
    cgroup:
      CgroupPlugin: autodetect
      AllowedRAMSpace: 100

slurm_cluster:
- cluster_name: slurm_cluster
  nfs_storage_name: nfs_slurm
  config_sources:
   slurm: /path/to/custom_slurm.conf
   cgroup: /path/to/custom_cgroup.conf
   slurmdbd: /path/to/custom_slurmdbd.conf
   gres: /path/to/custom_gres.conf
Parameters for iDRAC setup

Variables

Details

node_discovery_mode

string

Mandatory

  • Indicates an efficient way to manage server requests by querying only one server per group of identical servers.

  • Heterogeneous: Omnia sends requests or operations to each node individually.

  • Homogeneous: Omnia applies the specifications to all the nodes sharing the same hardware within a group.

Example:

slurm_cluster:
 - cluster_name: slurm_cluster
   nfs_storage_name: nfs_slurm
  node_discovery_mode: "homogeneous"
  node_hardware_defaults:
      grp11:
        sockets: 5
        cores_per_socket: 6
        threads_per_core: 3
        real_memory: 117968
        gres: "gpu:4"  # optional

      grp12:
        sockets: 13
        cores_per_socket: 13
        threads_per_core: 13
        real_memory: 117913

/opt/omnia/input/project_default/security_config.yml

Parameters for OpenLDAP configuration

Parameter

Details

ldap_connection_type

string Required

For TLS connection, ensure port 389 is open.

Choices: * TLS <- Default

/opt/omnia/input/project_default/storage_config.yml

/opt/omnia/input/project_default/high_availability_config.yml

See the following sample:

service_k8s_cluster_ha:
  - cluster_name: service_cluster
    enable_k8s_ha: true
    virtual_ip_address: "172.16.107.1"
Parameters for Service Cluster HA

Parameter

Details

cluster_name

  • Type: String

  • Captures the name of the service cluster on which HA will be set up. Default value: service_cluster

enable_k8s_ha

  • Type: Boolean

  • Possible values: true

  • Default value: true

  • Indicates whether to enable HA for the Kubernetes (K8s) service node or not. Set to true to enable.

virtual_ip_address

  • Type: String

  • This is a mandatory and user-configurable parameter.

  • Captures the virtual IP address for the K8s service node HA setup. Ensure that the virtual_ip_address does not belong to the dynamic_range or static_range mentioned in the network_spec.yml.

  • Default value: 172.16.107.1

Caution

Ensure that the external NFS is accessible by all the nodes intended to be booted and is reachable by the admin network.

If you have any feedback about Omnia documentation, please reach out at omnia.readme@dell.com.