Requirements
This document outlines the specific requirements for deploying Serverless Pods, based on the demo of the Rafay platform's new compute service.
-
Kubernetes Cluster
- A host Kubernetes cluster must be provisioned and managed by the platform.
- The cluster must include GPU-enabled worker nodes with specific hardware (e.g., NVIDIA A100s, H100s) to support accelerated workloads.
- The platform's agent must have appropriate permissions to create and manage pods, services, secrets, and other necessary resources.
-
Platform Components
- Environment Manager (EM) and a dedicated agent are required to orchestrate the provisioning of the serverless pods and related resources.
- The platform's Inventory API is a crucial component for resource matchmaking. It ensures that sufficient CPU, memory, and GPU resources are available before a deployment is scheduled, preventing pods from entering a
pending
state.
-
Resource Management
- Resource Quotas: Sufficient CPU and memory must be available in the target namespace. Each pod will have its resource
requests
andlimits
set to be equal to guarantee a specific quality of service (QoS). - GPU Inventory: The Inventory API must be configured to track the availability of specific GPU types on each node.
- Resource Quotas: Sufficient CPU and memory must be available in the target namespace. Each pod will have its resource
-
Container Images
- Pod images (e.g., Ubuntu 22.04) must be pre-configured and accessible from the cluster.
-
Network and Security
- SSH Pods: A NodePort service must be created for each SSH-enabled pod to expose port 22 for user access.
- SSH Key Management: The platform must automatically generate and securely store SSH key pairs in a Kubernetes secret for user authentication.