Input parameters for the cluster

The service_k8s_cluster.yml playbook is dependent on the inputs provided to the following input 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.

  • 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"

topology_manager_policy

Optional

  • Type: String

  • Kubernetes Topology manager policies.

  • Accepted values: none, best-effort, restricted, or single-numa-node.

  • Default value: none

  • Example: topology_manager_policy: "none"

topology_manager_scope

Optional

  • Type: String

  • Kubernetes Topology manager scope.

  • Accepted values are container or pod.

  • Default value: container

  • Example: topology_manager_scope: "container"

k8s_offline_install

Optional

  • Accepted value: true

  • With the variable set to true, all packages and images necessary to set up a Kubernetes cluster are pulled from the OIM local repository.

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 nfs_name available in storage_config.yml.

service_k8s_cluster:
  - cluster_name: service_cluster
    deployment: true
    k8s_cni: "calico"
    pod_external_ip_range: ""
    k8s_service_addresses: "10.233.0.0/18"
    k8s_pod_network_cidr: "10.233.64.0/18"
    topology_manager_policy: "none"
    topology_manager_scope: "container"
    k8s_offline_install: true
    csi_powerscale_driver_secret_file_path: ""
    csi_powerscale_driver_values_file_path: ""
    nfs_storage_name: ""
Parameters for slurm setup

Variables

Details

installation_type

string

Optional

  • Indicates the slurm installation supports configless.

    Choices:

    • configless <- default

Note

nfs_share mode is not implemented.

restart_slurm_services

boolean

Optional

  • Accepted value: true

  • Starts the slurm services after every OS deployment.

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 nfs_name.

See the following sample:

slurm_cluster:
- cluster_name: slurm_cluster
  installation_type: "configless"
  restart_slurm_services: true
  nfs_storage_name: nfs_slurm

/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

Parameters for Storage

Variables

Details

nfs_client_params

JSON List

Required

  • This JSON list contains all parameters required to set up NFS.

  • server_ip—Provide the IP of the NFS server which is accessible to all the diskful and diskless nodes. Default value: 172.16.107.168

  • server_share_path—Provide server share path of the NFS Server. Default value: /mnt/share/omnia

  • client_share_path—Path where nfs server contents needs to be mounted. The default value is /opt/omnia. Default value: /share_omnia

  • client_mount_options—Provide the mount options. Possible values are: nosuid, rw, sync, hard, intr

  • nfs_name—Provide the name of the NFS share. Default value: nfs_slurm. Type: string

Sample:

nfs_client_params:
      {
            nfs_name: "nfs_storage_default"
            server_ip: "", # Provide the IP of the NFS server
            server_share_path: "", # Provide server share path of the NFS Server
            client_share_path: /opt/omnia,
            client_mount_options: "nosuid,rw,sync,hard,intr",
     }

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

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

external_loadbalancer_ip

  • Type: IP address

  • Specify this to use an external load balancer instead of the kube-vip loadbalancer.

loadbalancer_port

  • Type: Port number

  • Captures the port for the external loadbalancer.

  • This port must be unique and not in use.

Note

Ensure to not use the 6443 port.

active_node_service_tag

  • Type: Comma-separated list

  • List of service tags of active K8s service nodes. Multiple tags can be provided with commas.

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.