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.
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 #
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.
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.
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.
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: 1Specify 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-gpuThen configure the application to select nodes with that label:
nodeSelector:
accelerator: nvidia-gpuNode 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.
