Page cover
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Troubleshooting

When the platform rejects a kubectl apply/create, the error is returned immediately in your terminal (or CI/CD output) — the object is never created. This page maps the messages and error codes you'll see to their cause and fix.

If a message here doesn't match what you got exactly, run the same command with -v=6 for the raw API response, or kubectl describe the nearest related object (e.g. your rquota) for more context. Include the error code when contacting platform support — it pinpoints the exact check that failed.

Pods

The Pods section includes several codes, as follows:

Code: POD6011

Message
Cause
Fix

Resources limits missing

Container has no resources.limits and mutation defaulting didn't apply cpu+memory together

Set resources.limits.cpu and resources.limits.memory explicitly

Code: POD6012

Message
Cause
Fix

Missing cpu limit

resources.limits present but no cpu key

Add resources.limits.cpu

Code: POD6013

Message
Cause
Fix

Missing memory limit

resources.limits present but no memory key

Add resources.limits.memory

Code: POD6017/POD6018

Message
Cause
Fix

VPC not found for namespace

Your Pod's virtual network isn't set up yet (only relevant inside vCluster-backed namespaces)

Contact platform support — your default VPC should exist; this indicates a setup issue

Code: POD621/POD623

Message
Cause
Fix

GPU type not identified

Your GPU node selector doesn't match a known GPU model/MIG profile

Check your node selector against the GPU models listed in kubectl get price -o yaml under spec.gpu

No Code

Message
Cause
Fix

Insufficient balance

The 48-hour look-ahead check failed — your balance can't cover this Pod plus everything already running for 48h

Top up your balance, or free up quota by scaling down other workloads

PersistentVolumeClaims (PVCs)

Code: VOL2003 / VOL2007

Message
Cause
Fix

storageClassName missing

spec.storageClassName not set

Set it to a storage class you have quota for

Code: VOL2004 / VOL2008

Message
Cause
Fix

Storage class not in quota

The class you named isn't in your rquota.spec.storage map

Check kubectl get rquota -o yaml; use a provisioned class or request one from support

Code: VOL2005 / VOL2009

Message
Cause
Fix

Storage size missing

spec.resources.requests.storage not set

Set a storage size request

Code: VOL2006

Message
Cause
Fix

"not allowed to shrink storage"

You tried to reduce resources.requests.storage on an existing PVC

Delete and recreate the PVC instead of shrinking

No Code

Message
Cause
Fix

"Pricing for storage class … not found"

The storage class has no price configured for your tenant

Contact platform support to have pricing set for that class

No Code

Message
Cause
Fix

Insufficient balance / quota

Same 48-hour-runway or quota check as Pods, applied to storage

Top up balance or free up storage quota

Services (LoadBalancer / Floating IP)

Message (paraphrased)
Cause
Fix

Insufficient Floating-IP quota/balance

Your rquota.spec.floatingIP count (or balance) can't cover another public IP

Delete an unused LoadBalancer Service to free a slot, or request a higher Floating IP quota

Non-LoadBalancer Services (ClusterIP, NodePort) are never rejected by these checks.

Namespace-level (usually a platform-setup issue, not yours to fix)

Your namespace is created for you, pre-validated by the platform team. You should not normally see these — if you do (e.g. self-service namespace requests), they mean:

Code: NS2019

Cause

A namespace with this tenant identity already exists

Code: NS2017

Cause

The platform's local IP pool is exhausted (contact support)

Code: NS2016

Cause

Required annotations missing on the namespace

Code: NS2004/NS2005

Cause

billingType annotation missing or not one of the allowed values (prepaid/postpaid)

Code: NS2006/NS2008

Cause

chargeType annotation missing or not one of the allowed values (hourly/fixed/…)

Code: NS2009/NS2020

Cause

Hourly + postpaid namespaces require a positive starting quota balance

Code: NS2010NS2015

Cause

A per-product quota/price value (CPU, RAM, NVAIE, Floating IP, storage, GPU) failed validation against the charge type

If you hit any of these, it's a request to platform support to fix your onboarding configuration, not something you can resolve with kubectl.

Access (CloudekaUser, if you manage your own users)

Message
Cause
Fix

"Invalid date format for expiry date … Format is YYYY-MM-DD"

spec.expiredAt isn't YYYY-MM-DD

Use YYYY-MM-DD, e.g. 2026-12-31

"Cannot find cluster role …"

A spec.privileges.clusterRole entry names a ClusterRole that doesn't exist in the cluster

Check the ClusterRole name/spelling, or ask platform support which cluster roles are available

"Cannot find role …"

A spec.privileges.role entry names a Role that doesn't exist in the given namespace

Check the Role name and namespace

Last updated