Skip to content

Ingresses

A Kubernetes Ingress routes external HTTP traffic to a service in your namespace. Use ingresses on RemoteGPU to publish service-backed web apps on a managed apps.remotegpu.ai hostname.

RemoteGPU supports Kubernetes Ingress for teams that manage Kubernetes resources directly. The console can help you create a simple ingress, and kubectl can manage the same resource directly.

Before you create an ingress

Before you create an ingress, make sure you have:

  • A running workload, because ingress only routes traffic.
  • A ClusterIP service for the ingress backend.
  • A host that matches <prefix>--<namespace-token>.apps.remotegpu.ai.
  • The platform ingress class, traefik.

HTTPS for managed hosts is served by the shared *.apps.remotegpu.ai wildcard certificate.

Choose a workflow

Use the console when you want guided ingress creation for an existing service. You choose the service, port, host prefix, and path in the UI.

Use kubectl when you manage ingress rules from manifests. Create a standard networking.k8s.io/v1 Ingress that follows the RemoteGPU ingress profile.

Create an ingress

From the console:

  1. Open Kubernetes / Ingresses.
  2. Select a namespace.
  3. Click Create ingress.
  4. Choose the target service.
  5. Choose the backend port.
  6. Enter the ingress details.
Console fieldDescription
Ingress nameKubernetes ingress name in the namespace
Host prefixThe left side of the enforced hostname pattern
PathHTTP path for the backend rule
ServiceExisting service that should receive traffic
PortService port the ingress backend should target

The console shows the generated hostname before you create the ingress. For a namespace token such as 123456780000, a host prefix of demo-web becomes demo-web--123456780000.apps.remotegpu.ai.

RemoteGPU provides TLS for generated apps.remotegpu.ai hosts.

Supported ingress profile

The standard ingress flow is:

text
Deployment
  -> Service
  -> Ingress
  -> public HTTP route
AreaDescription
API versionnetworking.k8s.io/v1 Ingress
Backend typeService-backed HTTP rules
Namespace boundaryThe ingress must point to services in the same namespace
HostnamesHosts must match <prefix>--<namespace-token>.apps.remotegpu.ai for the target namespace
Ingress classtraefik
Path routingStandard HTTP path routing with pathType
TLSManaged apps.remotegpu.ai hosts use the platform wildcard certificate

Use spec.ingressClassName: traefik when you want to be explicit. If omitted, RemoteGPU uses the platform default ingress class, traefik. Do not use the legacy kubernetes.io/ingress.class annotation.

Advanced ingress options

Traefik Middleware CRDs and router middleware annotations are not supported in tenant namespaces. Use standard Kubernetes Ingress path routing and handle application-specific rewrites or redirects in your service.

RemoteGPU does not expose ingress-layer request body size limits. Traefik enforces those limits through request buffering, which changes streaming request behavior. Enforce request body limits in your application when needed.

Do not add cert-manager.io/cluster-issuer or spec.tls for managed apps.remotegpu.ai hosts. HTTPS is terminated with the platform wildcard certificate.

Limits

PatternSupport
NodePort or externalIPs service exposureUse ingress-backed HTTP routing instead
Hosts outside the namespace-scoped patternRejected
defaultBackendNot supported
Non-service ingress backendsNot supported
Per-ingress cert-manager annotations or custom TLS secretsNot supported for managed apps.remotegpu.ai hosts
Legacy kubernetes.io/ingress.class annotationNot supported. Use spec.ingressClassName: traefik
Legacy nginx.ingress.kubernetes.io/* annotationsNot supported
Creating or editing ingress-controller transport annotationsNot supported
Traefik Middleware CRDs and router middleware annotationsNot supported
Unsupported Traefik annotations or CRDsNot supported
Custom-domain onboarding through the Kubernetes console flowNot supported

How ingress shows up in the console

The console reads live ingress resources from your namespace.

ActionResult
Create ingress with kubectlIt appears in the console
Create ingress in the consoleIt appears in kubectl
Remove the target service or service portThe console shows an error state for the ingress

Troubleshooting

SymptomWhat to check
Ingress creation is rejected because of the hostUse the namespace-scoped host pattern shown in the error response: <prefix>--<namespace-token>.apps.remotegpu.ai
The generated URL returns no application responseConfirm the ingress backend points to an existing ClusterIP service and that the service has ready endpoints
HTTPS configuration is rejectedDo not add spec.tls or cert-manager annotations for managed apps.remotegpu.ai hosts
Large requests failCheck application, upload proxy, or client limits

RemoteGPU does not expose Traefik request-body buffering limits for tenant ingresses.

RemoteGPU customer documentation