Skip to content

Kubernetes on RemoteGPU

RemoteGPU gives you a managed Kubernetes environment that you can use from the console, from kubectl, or from both at the same time.

This part of the product is designed for teams that are comfortable managing Kubernetes resources.

Kubernetes use cases

Kubernetes is for teams that need to run and operate their own container workloads in a namespace.

Typical use cases include:

  • running containers with deployments, jobs, or cronjobs
  • managing resources with kubectl, manifests, or CI-driven apply flows
  • combining application runtime, batch execution, persistent storage, and HTTP routing

For guided Comfy workspaces, use Application. For direct model requests without managing Kubernetes resources, use Inference API.

Choose a workflow

Use the console when you want guided setup, quick inspection, logs, and status views without writing every resource manifest by hand.

Use kubectl when your team manages Kubernetes resources from manifests, CI, or local tooling.

Many teams use both: start in the console for namespace access and quick inspection, then use kubectl for manifest-driven changes.

Both paths operate on the same namespace resources. Services and ingresses created with kubectl appear in the console, and console-created resources are visible through Kubernetes APIs in the namespace.

The basic model

ResourceWhat it isTypical next step
NamespaceYour workspace and isolation boundaryCreate workloads inside it
DeploymentThe application runtime you want to runAdd a Service for reachable workloads
JobOne-off batch work that runs to completionInspect pods, events, and logs, or replace it with a new job run
ServiceThe stable internal network target for traffic inside the clusterAdd an Ingress for public HTTP access
CronJobScheduled batch work that creates jobs on a scheduleInspect the jobs it creates and tune schedule or retention settings
IngressThe public HTTP entrypoint for a serviceShare the generated host with callers
PersistentVolumeClaimPersistent storage for workload dataMount it into a deployment, job, or cronjob

Common paths:

  • Long-running private app: Namespace -> Deployment -> Service
  • Long-running public HTTP app: Namespace -> Deployment -> Service -> Ingress
  • One-off batch work: Namespace -> Job
  • Scheduled batch work: Namespace -> CronJob
  • Persistent workload data: Namespace -> PersistentVolumeClaim -> workload mount

Quick start

Start here for the shortest path through the product:

  1. Open Kubernetes / Deployments in the console.
  2. Create a namespace or use your existing default namespace.
  3. Create a Kubernetes exec API key in Settings / API Keys.
  4. Download the namespace kubeconfig from the console.
  5. Create a deployment, job, or cronjob with the workflow that fits your team.
  6. Add persistent storage for workloads that need data to survive pod restarts.
  7. Create a service for long-running application traffic.
  8. Add an ingress for public HTTP access to a service-backed app.

You can start from Kubernetes / Deployments in the console, then move between the Deployments, Services, and Ingresses views without leaving the Kubernetes section.

Before you begin

Before you start, make sure you have:

  • a signed-in console session to create namespaces and download kubeconfig
  • a Kubernetes exec API key when you plan to use kubectl
  • a namespace, because supported resources are namespace-scoped
  • a ClusterIP service before creating public HTTP ingress routing

Work with Kubernetes

The console is organized around five resource views:

Use the console when you want a guided setup, live status, logs, and namespace inspection without writing manifests for every change.

For help choosing the right key, read API keys.

Example:

bash
export REMOTEGPU_API_KEY=rgpu_your_scoped_api_key
kubectl --kubeconfig ./kubeconfig-team-ml.yaml get pods

The downloaded kubeconfig refreshes short-lived namespace credentials, so the API key needs to stay available in the shell or CI environment that runs kubectl.

Supported resources

ResourceConsolekubectlNotes
DeploymentSupportedSupportedPrimary app workflow in the console
ServiceSupportedSupportedConsole creates standard ClusterIP services
IngressSupportedSupportedPublic HTTP routing follows the RemoteGPU ingress profile
JobSupported for console creation and inspectionSupportedUse kubectl for advanced job fields
CronJobSupported for console creation and inspectionSupportedUse kubectl for advanced scheduling and job template fields
ConfigMapNot surfaced as a dedicated console workflowSupportedStandard namespace resource for manifest-driven teams
PersistentVolumeClaimNot surfaced as a dedicated console workflowSupportedUse storage-standard for supported persistent storage
Pod, logs, eventsSupported for inspectionSupportedThe console can help with day-2 visibility

Ingress is part of the supported Kubernetes model on RemoteGPU, with a defined platform profile described in Ingresses.

Important limits

AreaExpectation
Service typeUse ClusterIP
Direct public service exposureNodePort and externalIPs are not supported
Ingress hostnamesMust match the namespace-scoped pattern <prefix>--<namespace-token>.apps.remotegpu.ai
Ingress TLSManaged apps.remotegpu.ai hosts use the platform wildcard certificate; do not configure per-ingress TLS
Ingress behaviorService-backed HTTP routing is supported; unsupported annotation patterns and unsupported backend shapes may be rejected
Persistent storageUse storage-standard with one of the supported fixed sizes
kubectl accessRequires a RemoteGPU API key with Kubernetes exec access
  • Read Deployments to run or update an application.
  • Read Services to expose a deployment inside the cluster.
  • Read Ingresses to publish a service with HTTP routing.
  • Read Storage to create persistent volumes for workloads.
  • Read Jobs for one-off batch work.
  • Read CronJobs for scheduled batch work.

RemoteGPU customer documentation