> For the complete documentation index, see [llms.txt](https://docs.cloudeka.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cloudeka.ai/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/troubleshooting.md).

# Troubleshooting

Saat platform menolak `kubectl apply`/`create`, kesalahan langsung muncul di terminal atau keluaran CI/CD Anda. Objek tidak akan dibuat. Halaman ini memetakan pesan dan kode kesalahan ke penyebab serta solusinya.

{% hint style="info" %}
Jika pesan di sini tidak sama persis dengan yang Anda terima, jalankan perintah yang sama dengan `-v=6` untuk respons API mentah. Anda juga dapat menjalankan `kubectl describe` pada objek terkait terdekat, misalnya `rquota`, untuk konteks tambahan. Sertakan kode kesalahan saat menghubungi dukungan platform.
{% endhint %}

## Pods

Bagian **Pod** mencakup beberapa kode berikut:

### Code: `POD6011`

<table><thead><tr><th width="186.8333740234375">Pesan</th><th>Penyebab</th><th>Solusi</th></tr></thead><tbody><tr><td>Batas resource tidak ada</td><td>Container tidak memiliki <code>resources.limits</code> dan defaulting mutation tidak menerapkan cpu serta memory bersamaan</td><td>Tetapkan <code>resources.limits.cpu</code> dan <code>resources.limits.memory</code> secara eksplisit</td></tr></tbody></table>

### Code: `POD6012`

<table><thead><tr><th width="182.66668701171875">Pesan</th><th>Penyebab</th><th>Solusi</th></tr></thead><tbody><tr><td>Batas <code>cpu</code> tidak ada</td><td><code>resources.limits</code> tersedia, tetapi tidak memiliki kunci <code>cpu</code></td><td>Tambahkan <code>resources.limits.cpu</code></td></tr></tbody></table>

### Code: `POD6013`

<table><thead><tr><th width="182.66668701171875">Pesan</th><th>Penyebab</th><th>Solusi</th></tr></thead><tbody><tr><td>Batas <code>memory</code> tidak ada</td><td><code>resources.limits</code> tersedia, tetapi tidak memiliki kunci <code>memory</code></td><td>Tambahkan <code>resources.limits.memory</code></td></tr></tbody></table>

### Code: `POD6017/POD6018`

<table><thead><tr><th width="182.66668701171875">Pesan</th><th>Penyebab</th><th>Solusi</th></tr></thead><tbody><tr><td>VPC untuk namespace tidak ditemukan</td><td>Jaringan virtual Pod Anda belum disiapkan. Ini hanya relevan dalam namespace berbasis vCluster.</td><td>Hubungi dukungan platform. VPC default Anda seharusnya tersedia.</td></tr></tbody></table>

### Code: `POD621/POD623`

<table><thead><tr><th width="182.66668701171875">Pesan</th><th>Penyebab</th><th>Solusi</th></tr></thead><tbody><tr><td>Jenis GPU tidak teridentifikasi</td><td>Node selector GPU Anda tidak cocok dengan model GPU atau profil MIG yang dikenal</td><td>Periksa node selector dengan model GPU dalam <code>kubectl get price -o yaml</code> pada <code>spec.gpu</code></td></tr></tbody></table>

### Tanpa kode

<table><thead><tr><th width="182.66668701171875">Pesan</th><th>Penyebab</th><th>Solusi</th></tr></thead><tbody><tr><td><code>Insufficient balance</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/quota-and-limits.md">Pemeriksaan proyeksi 48 jam</a> gagal. Saldo Anda tidak cukup untuk Pod ini dan seluruh workload yang sedang berjalan selama 48 jam.</td><td>Top up saldo Anda atau kosongkan kuota dengan menurunkan skala workload lain.</td></tr></tbody></table>

## PersistentVolumeClaims (PVC)

### Code: `VOL2003` / `VOL2007`

| Pesan                      | Penyebab                                 | Solusi                                             |
| -------------------------- | ---------------------------------------- | -------------------------------------------------- |
| `storageClassName` missing | `spec.storageClassName` belum ditetapkan | Tetapkan ke kelas storage yang memiliki kuota Anda |

### Code: `VOL2004` / `VOL2008`

| Pesan                               | Penyebab                                                        | Solusi                                                                                     |
| ----------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Storage class tidak ada dalam kuota | Kelas yang Anda gunakan tidak ada di peta `rquota.spec.storage` | Periksa `kubectl get rquota -o yaml`; gunakan kelas yang disediakan atau minta ke dukungan |

### Code: `VOL2005` / `VOL2009`

| Pesan                    | Penyebab                                           | Solusi                             |
| ------------------------ | -------------------------------------------------- | ---------------------------------- |
| Ukuran storage tidak ada | `spec.resources.requests.storage` belum ditetapkan | Tetapkan permintaan ukuran storage |

### Code: `VOL2006`

| Pesan                           | Penyebab                                                               | Solusi                                               |
| ------------------------------- | ---------------------------------------------------------------------- | ---------------------------------------------------- |
| "not allowed to shrink storage" | Anda mencoba mengurangi `resources.requests.storage` pada PVC yang ada | Hapus dan buat ulang PVC, bukan mengurangi ukurannya |

### No Code

| Pesan                                   | Penyebab                                                                | Solusi                                                          |
| --------------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------- |
| "Pricing for storage class … not found" | Kelas storage tidak memiliki harga yang dikonfigurasi untuk tenant Anda | Hubungi dukungan platform untuk menetapkan harga kelas tersebut |

### No Code

| Pesan                          | Penyebab                                                                              | Solusi                                    |
| ------------------------------ | ------------------------------------------------------------------------------------- | ----------------------------------------- |
| `Insufficient balance` / quota | Pemeriksaan proyeksi 48 jam atau kuota yang sama seperti Pod, diterapkan pada storage | Top up saldo atau kosongkan kuota storage |

## Services (LoadBalancer / Floating IP)

| Pesan                               | Penyebab                                                                           | Solusi                                                                                    |
| ----------------------------------- | ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Kuota/saldo Floating IP tidak cukup | Jumlah `rquota.spec.floatingIP` atau saldo Anda tidak mencukupi IP publik tambahan | Hapus Service LoadBalancer yang tidak digunakan atau minta kuota Floating IP lebih tinggi |

Service non-LoadBalancer (`ClusterIP`, `NodePort`) tidak pernah ditolak oleh pemeriksaan ini.

## Tingkat namespace (biasanya masalah penyiapan platform)

Namespace Anda dibuat dan divalidasi sebelumnya oleh tim platform. Anda biasanya tidak akan melihat kesalahan berikut. Jika muncul, misalnya pada permintaan namespace mandiri, artinya:

### Code: `NS2019`

| Penyebab                                        |
| ----------------------------------------------- |
| Namespace dengan identitas tenant ini sudah ada |

### Code: `NS2017`

| Penyebab                                                 |
| -------------------------------------------------------- |
| Pool IP lokal platform habis. Hubungi dukungan platform. |

### Code: `NS2016`

| Penyebab                                            |
| --------------------------------------------------- |
| Annotation yang diperlukan tidak ada pada namespace |

### Code: `NS2004`/`NS2005`

| Penyebab                                                                    |
| --------------------------------------------------------------------------- |
| Annotation `billingType` tidak ada atau nilainya bukan `prepaid`/`postpaid` |

### Code: `NS2006`/`NS2008`

| Penyebab                                                                 |
| ------------------------------------------------------------------------ |
| Annotation `chargeType` tidak ada atau nilainya bukan `hourly`/`fixed`/… |

### Code: `NS2009`/`NS2020`

| Penyebab                                                                 |
| ------------------------------------------------------------------------ |
| Namespace `hourly` + `postpaid` memerlukan saldo kuota awal yang positif |

### Code: `NS2010`–`NS2015`

| Penyebab                                                                |
| ----------------------------------------------------------------------- |
| Nilai kuota atau harga per produk gagal divalidasi terhadap jenis biaya |

Jika mengalami salah satu masalah ini, hubungi dukungan platform untuk memperbaiki konfigurasi onboarding. Masalah ini tidak dapat diatasi dengan `kubectl`.

## Akses (`CloudekaUser`, jika Anda mengelola pengguna sendiri)

| Pesan                                                        | Penyebab                                                                             | Solusi                                                                                 |
| ------------------------------------------------------------ | ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- |
| "Invalid date format for expiry date … Format is YYYY-MM-DD" | `spec.expiredAt` bukan `YYYY-MM-DD`                                                  | Gunakan `YYYY-MM-DD`, misalnya `2026-12-31`                                            |
| "Cannot find cluster role …"                                 | Entri `spec.privileges.clusterRole` merujuk ClusterRole yang tidak ada dalam cluster | Periksa nama atau ejaan ClusterRole, atau tanyakan peran yang tersedia kepada dukungan |
| "Cannot find role …"                                         | Entri `spec.privileges.role` merujuk Role yang tidak ada di namespace terkait        | Periksa nama Role dan namespace                                                        |

{% hint style="success" %}
Setiap pemeriksaan di atas berjalan **sebelum** objek dibuat, sebagai pemeriksaan *admission*. Penolakan tidak akan meninggalkan resource yang setengah dibuat atau rusak. Anda dapat memperbaiki manifest lalu menerapkannya kembali dengan aman.
{% endhint %}
