Rafay Agent Overview¶
Agent is a service that runs in your local network or VPC. This is required for executing tasks related to provisioning compute or service instances, based on defined SKUs, for GPU PaaS.
The agent can be deployed on either Docker or Kubernetes.
Type | Versions |
---|---|
Docker | v2.x or higher |
Kubernetes | Currently supported version |
👉 To create and configure an agent, follow the instructions here: GitOps Agent Setup
Agent Architecture¶
The Rafay Controller (control plane) does not require direct or inbound access to the servers located in the GPU PaaS provider’s data centers.
Instead, it relies on a lightweight agent that is deployed at each data center site.
The Rafay Agent establishes an outbound, long-running connection to the Rafay Controller over port 443. The following architecture diagram illustrates this setup.
Instance Execution Lifecycle¶
The lifecycle of provisioning and deprovisioning GPU PaaS instances involves three high-level stages:
- Activity Generation
-
The Controller determines the number and types of required activities
-
Agent Interaction
- Agents continuously poll the Controller for activities
-
The Controller assigns activities based on agent association and worker limits
-
Agent Execution
- Activities may run sequentially or in parallel (depending on underlying code)
- Once completed, pods terminate and resources are released
- Agents continue polling and queueing additional tasks
Note: Every instance created at the PaaS layer corresponds to an underlying environment object.
Worker Sizing¶
Default Resource Requests and Limits per Worker Type
Worker Type | CPU | Memory |
---|---|---|
Git Worker | 250m | 512Mi |
OpenTofu Worker | 500m | 1Gi |
Function Worker | 100m | 256Mi |
Agent Assignment & Selection¶
Agents can be configured either within an environment template or centrally in Global Settings.
👉 For detailed instructions, see Global Overrides.