> 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/introduction.md).

# Pendahuluan

Di Service Portal Cloudeka, pasangan organisasi/proyek Anda merupakan satu **namespace** Kubernetes bernama:

```bash
loft-<organization>-v-<project>
```

Sebagai contoh, organisasi `acme` dan proyek `inference-1` menggunakan namespace `loft-acme-v-inference-1`. Semua workload, storage, objek jaringan, dan catatan penagihan berada dalam namespace ini. Anda tidak dapat mengakses namespace tenant lain. Sumber daya di luar pola penamaan `loft-*-v-*` tidak ditagihkan atau diperiksa terhadap kuota. Tim platform membuat namespace Anda dan mengonfigurasinya dengan model penagihan, harga, serta kuota. Anda tidak membuat namespace sendiri.

## Mendapatkan Akses `kubectl`

Akses diberikan melalui objek `CloudekaUser` yang disediakan oleh tim platform. Lihat [cloudekauser](/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-user.md). Akses ini menghasilkan:

* ServiceAccount dan Secret token di namespace Anda.
* Binding RBAC (ClusterRole/Role) yang membatasi tindakan yang dapat dilakukan.
* Batas laju dan tanggal kedaluwarsa akses.

Anda akan menerima kubeconfig, atau token untuk membuatnya, dari tim platform. Setelah dikonfigurasi:

```bash
kubectl config use-context <your-context>
kubectl get pods -n loft-<organization>-v-<project>
```

Jika akses telah kedaluwarsa, autentikasi permintaan akan gagal. Hubungi dukungan platform untuk memperbarui akses. Properti `spec.expiredAt` pada objek `CloudekaUser` mengatur hal ini.

## Siklus Permintaan Singkat

### Membuat Sumber Daya Workload

Gunakan `kubectl apply` atau `create` untuk membuat Pod, PVC, atau LoadBalancer Service.

### Pemeriksaan Admission

**Admission webhook** mencegat permintaan sebelum disimpan. Webhook menghitung biaya sumber daya per jam dan memeriksanya terhadap kuota atau saldo Anda.

{% hint style="warning" %}
Ditolak jika Anda langsung menerima error. Tidak ada objek yang dibuat.
{% endhint %}

{% hint style="success" %}
Diterima berarti objek dibuat seperti biasa.
{% endhint %}

### Pembuatan Sumber Daya Penagihan

Platform membuat CRD penagihan yang sesuai:

* [`CloudekaResource`](/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-resource.md) for Pods
* [`CloudekaResourceStorage`](/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-resource-storage.md) for PVCs
* [`CloudekaFloatingIP`](/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-floating-ip.md) for LoadBalancer Services

Objek ini menunjukkan biaya per jam secara langsung.

### Penagihan Per Jam

Setiap jam, platform menagihkan penggunaan pada jam yang baru berakhir ke saldo Anda.

### Akumulasi Biaya Harian

Setiap hari, objek `CloudekaCharge` mengakumulasi total biaya hari tersebut. Detail selengkapnya: [Kuota & Batas](/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/quota-and-limits.md), [Aturan Workload](/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/workload-rules.md), dan [Penagihan & Saldo](/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/billing-and-balance.md).

## Referensi Cepat `kubectl`

Semua CRD berikut bersifat **namespaced**. Selalu sertakan `-n <your-namespace>`, atau atur namespace default pada context agar flag tersebut tidak diperlukan.

```bash
# Lihat semua sekaligus
kubectl get tenant,rquota,charge,cvpc -n loft-<organization>-v-<project>

# Saldo dan jenis penagihan saat ini
kubectl get tenant -n loft-<organization>-v-<project>

# Alokasi kuota dan penggunaan langsung
kubectl get rquota -n loft-<organization>-v-<project> -o yaml

# Rincian biaya hari ini
kubectl get charge -n loft-<organization>-v-<project>

# Biaya per workload
kubectl get container -n loft-<organization>-v-<project>
kubectl get storage -n loft-<organization>-v-<project>
```

<table><thead><tr><th width="188.83343505859375">Nama singkat</th><th>Kind lengkap</th></tr></thead><tbody><tr><td><code>tenant</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-tenant.md">CloudekaTenant</a></td></tr><tr><td><code>rquota</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-resource-quota.md">CloudekaResourceQuota</a></td></tr><tr><td><code>price</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-price.md">CloudekaPrice</a></td></tr><tr><td><code>container</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-resource.md">CloudekaResource</a></td></tr><tr><td><code>storage</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-resource-storage.md">CloudekaResourceStorage</a></td></tr><tr><td><code>charge</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-charge.md">CloudekaCharge</a></td></tr><tr><td><code>topup</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-topup.md">CloudekaTopup</a></td></tr><tr><td><code>cfip</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-floating-ip.md">CloudekaFloatingIP</a></td></tr><tr><td><code>cip</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-ippool.md">CloudekaIPPool</a></td></tr><tr><td><code>cvpc</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-vpc.md">CloudekaVPC</a></td></tr><tr><td><code>guard</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-guard.md">CloudekaGuard</a></td></tr><tr><td><code>default</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-default.md">CloudekaDefault</a></td></tr><tr><td><code>user</code></td><td><a href="/deka-gpu-documentations/panduan-untuk-enterprise/service-limit/crds/cloudeka-user.md">CloudekaUser</a></td></tr></tbody></table>

{% hint style="info" %}
**Tips:** Untuk pemeriksaan awal, `kubectl describe <short-name> <object-name> -n <namespace>` biasanya lebih mudah dibaca daripada `-o yaml`. Perintah ini menampilkan field spec/status yang sama serta Events terbaru, yang berguna jika rekonsiliasi tidak berjalan sesuai harapan.
{% endhint %}
