|Index|Deploying SUSE AI Factory|How do I prepare for the deployment?
Applies to SUSE AI Factory

1 How do I prepare for the deployment?

Preparation tasks depend on how much underlying infrastructure is already deployed.

1.1 Installation overview

This overview summarizes the SUSE AI Factory installation scenarios and shows which deployment path to follow.

The SUSE AI Factory installation process differs according to the following scenarios:

  • You have clean cluster nodes prepared without SLES 16 operating system.

  • You have SLES 16 operating system and RKE2 Kubernetes distribution with SUSE Rancher Prime installed.

  • Your setup is ready for installing AI applications and blueprints.

SUSE AI Factory installation process
Figure 1.1: SUSE AI Factory installation process

1.2 Install SLES 16

Install and register SUSE Linux Enterprise Server 16 operating system on each cluster node. For supported installation methods, see:

1.3 Install RKE2

Important
Important: Separate clusters for specific SUSE AI Factory components

For production deployments, we strongly recommend deploying Rancher Prime, SUSE Observability, and workloads from the AI library to separate Kubernetes clusters.

Refer to RKE2 Installation Quickstart for details.

1.4 Install Rancher Prime

Refer to Rancher Prime Installation on Kubernetes Cluster for more details.

Important
Important: Separate clusters for specific SUSE AI Factory components

For production deployments, we strongly recommend deploying Rancher Prime, SUSE Observability, and workloads from the AI library to separate Kubernetes clusters.

1.5 Install GPU Operator

Install the GPU Operator on downstream clusters where GPU resources are available. Do not install it on the management cluster running SUSE Rancher Prime.

Note
Note: Use third-party drivers

We recommend deploying the GPU Operator with third-party GPU drivers.

Refer to GPU Operator Installation for more details.

1.6 Connect the downstream cluster to Rancher Prime

Refer to Registering Existing Clusters for more details.

1.7 Assign GPU resources

Applications running on Kubernetes can request GPU resources when GPU acceleration is required.

After the GPU Operator is installed and configured, GPU resources become available to Kubernetes. Applications request these resources by defining resource requests and limits for their workloads.

Kubernetes schedules workloads that request GPU resources on nodes where the requested resources are available. Optionally, you can use node selection rules to restrict an application to specific nodes.

Requirements
  • RKE2 Kubernetes cluster with one or more nodes that provide supported GPU resources.

  • A GPU Operator must be installed and configured to make GPU resources available to Kubernetes.

  • Application deployments must support configuring Kubernetes resource requests and limits.

1.7.1 Requesting GPU resources

When GPU resources are available to Kubernetes, applications can request them by defining resource requests and limits. For NVIDIA GPUs, the GPU Operator typically makes the GPU resource available as nvidia.com/gpu.

For example, add the following configuration to the application’s values.yaml file:

resources:
  requests:
    nvidia.com/gpu: 1
  limits:
    nvidia.com/gpu: 1

Specify the number of GPUs according to the requirements of the application and the available cluster resources.

When the workload is scheduled, Kubernetes schedules it on a node where the requested GPU resources are available and allocates the requested resources to the workload.

1.7.2 Optionally selecting specific GPU nodes

In some environments, you might want to restrict an application to specific GPU nodes. For example, this can be useful when a cluster contains nodes with different GPU models or when GPU nodes are reserved for particular workloads.

You can use Kubernetes labels and node selectors to control where the workload is scheduled.

For example, label a node:

> kubectl label node <GPU_NODE_NAME> accelerator=nvidia-gpu

Then configure the application to select nodes with that label:

nodeSelector:
  accelerator: nvidia-gpu

Node labels and selectors are optional. They are not required for Kubernetes to allocate GPU resources.

1.7.3 Verifying GPU assignment

The method used to verify GPU usage depends on the application.

First, verify that Kubernetes scheduled the workload successfully on a node that provides the requested GPU resources. You can inspect the workload and its assigned node by using kubectl. For example:

> kubectl describe pod <POD_NAME>

After the workload is running, use application-specific information to verify that the application detected and is using the assigned GPU. Depending on the application, this information might be available through logs, metrics, or the user interface.

For example, Ollama logs information about the available compute libraries and detected GPUs when GPU acceleration is enabled. The following example shows an Ollama log indicating that a compatible GPU was detected:

[...] source=gpu.go:204 msg="looking for compatible GPUs"
[...] source=types.go:105 msg="inference compute" id=GPU-... library=cuda compute=...

Refer to the documentation of the deployed application for application-specific instructions on verifying GPU detection and usage.

1.8 Install SUSE Security

Refer to SUSE Security Rancher Prime Deployment for more details.

1.9 Install SUSE Observability

Refer to SUSE Observability Rancher Prime Deployment for more details.