> 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-portal-cloudeka/balancece/custom-resource-definition.md).

# Custom Resource Definition

{% hint style="warning" %}
Anda dapat mengunduh kubeconfig di Service Portal Cloudeka, dan klik [tautan ini](/deka-gpu-documentations/panduan-untuk-enterprise/deka-gpu/deka-gpu-kubernetes/dashboard/download-kube-config.md) untuk informasi lebih lanjut.
{% endhint %}

{% hint style="warning" %}
Sebelum Anda menggunakan CRD, Anda harus mengonfigurasi kubeconfig Anda sesuai dengan sistem operasi yang Anda gunakan. Klik [tautan ini](/deka-gpu-documentations/panduan-untuk-enterprise/reference/how-to-use-kubeconfig-on-windows.md) jika Anda menggunakan Windows, dan klik [tautan ini](/deka-gpu-documentations/panduan-untuk-enterprise/reference/how-to-use-kubeconfig-on-linux.md) jika Anda menggunakan Linux.
{% endhint %}

Custom Resource Definition (CRD) adalah fitur yang disediakan oleh Deka GPU untuk menampilkan resource yang digunakan oleh pelanggan. Pada CRD di Deka GPU Service Portal, terdapat beberapa modul yang tersedia.

## Cloudeka Tenants

**Cloudeka Tenants** adalah modul yang menampilkan daftar informasi terkait Billing, Charging, dan Balance. Anda dapat menjalankan sintaks berikut.

```bash
kubectl get tenant
```

<figure><img src="https://753761090-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FtAYQyBIz2BclZ3ZHHlS4%2Fuploads%2Fgit-blob-d3b67c2ae5b3ce1aa364b5286a10f126b9f979b8%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

Pada gambar di atas setelah Anda menjalankan sintaks `kubectl get tenant`, akan ditampilkan beberapa kolom di antaranya sebagai berikut.

<table><thead><tr><th width="173">Kolom</th><th>Deskripsi</th></tr></thead><tbody><tr><td><strong>Name</strong></td><td>Nama tenant, dalam hal ini, default.</td></tr><tr><td><strong>Project</strong></td><td>Nama project yang terkait dengan tenant, dalam hal ini, post-f-bison.</td></tr><tr><td><strong>Organization</strong></td><td>Nama organisasi yang memiliki tenant ini, yaitu cv-af2</td></tr><tr><td><strong>Billing</strong></td><td>Metode billing, ditampilkan sebagai postpaid (pembayaran dilakukan setelah penggunaan).</td></tr><tr><td><strong>Charging</strong></td><td>Model penagihan, diatur sebagai fixed (harga tetap).</td></tr><tr><td><strong>Balance</strong></td><td>Saldo yang tersedia, saat ini menunjukkan 0.</td></tr><tr><td><strong>Update At</strong></td><td>Waktu terakhir data diperbarui.</td></tr></tbody></table>

## Cloudeka Resources Quotas

**Cloudeka Resources Quotas** adalah modul yang digunakan untuk melihat batas maksimum resource yang dapat digunakan oleh setiap komponen Deka GPU dan hanya digunakan untuk tipe biaya layanan SME: Prepaid Hourly Quota Fix, dan SME: Prepaid Fixed kecuali kolom Quota Balance yang hanya digunakan untuk tipe biaya layanan Enterprise: Postpaid Hourly. Anda dapat menjalankan sintaks berikut.

```bash
kubectl get rquota
```

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXegSLSTCayi3faJT5VrvscV66tw-PYP-Ul5TBkuOO2DHp3orrI_HJ9MR-n9mtXnjO15LQkprXSPLEnFuDsY6vFLG39tjAnlfgLOEanzM1AKhjvG6NPqs0sI6d0bWFo5di4M8qGl7g?key=j5cAgZ4reQhgRipI177hLQ" alt=""><figcaption></figcaption></figure>

Pada gambar di atas setelah Anda menjalankan sintaks `kubectl get rquota`, akan ditampilkan beberapa kolom di antaranya sebagai berikut.

<table><thead><tr><th width="180">Kolom</th><th>Deskripsi</th></tr></thead><tbody><tr><td>Name</td><td>Nama resource quota, dalam hal ini, default.</td></tr><tr><td>CPU</td><td>Jumlah core CPU yang dialokasikan, yaitu 8.</td></tr><tr><td>RAM</td><td>Memori yang dialokasikan, yaitu 16Gi (16 Gigabyte).</td></tr><tr><td>Quota Balance</td><td>Sisa saldo quota, juga ditampilkan sebagai Rp1.000.000</td></tr></tbody></table>

## Cloudeka Prices

**Cloudeka Prices** adalah modul yang menampilkan harga pada Deka GPU, yang dibagi menjadi tipe harga per jam dan per bulan dan secara khusus digunakan untuk tipe biaya layanan Prepaid Hourly dan Prepaid Hourly Quota Fix.

```bash
kubectl get price -o yaml
```

Setelah Anda menjalankan sintaks `kubectl get price`, akan ditampilkan.

{% code lineNumbers="true" %}

```yaml
apiVersion: v1
items:
- apiVersion: tenants.cloudeka.ai/v1alpha2
  kind: CloudekaPrice
  metadata:
    annotations:
      cloudeka.ai/reconciled: "true"
      kubectl.kubernetes.io/last-applied-configuration: |
        {"apiVersion":"tenants.cloudeka.ai/v1alpha2","kind":"CloudekaPrice","metadata":{"annotations":{},"name":"default","namespace":"default"}}
    creationTimestamp: "2025-02-01T03:05:48Z"
    generation: 3
    name: default
    namespace: default
    resourceVersion: "948453"
    uid: a5586724-04c4-404f-9f3c-96dd72932437
  spec:
    cpu:
      price: 100
      priceMonthly: 500000
    createdBy: cloudeka-system
    floatingIP:
      price: 103
      priceMonthly: 75000
    gpu:
      NVIDIA-H100-80GB-HBM3:
        price: 63356
        priceMonthly: 46250000
      NVIDIA-H100-80GB-HBM3-MIG-1g.10gb:
        price: 19178
        priceMonthly: 14000000
      NVIDIA-H100-80GB-HBM3-MIG-1g.10gb-SHARED:
        price: 19178
        priceMonthly: 14000000
      NVIDIA-H100-80GB-HBM3-MIG-1g.20gb:
        price: 19178
        priceMonthly: 14000000
      NVIDIA-H100-80GB-HBM3-MIG-1g.40gb:
        price: 19178
        priceMonthly: 14000000
      NVIDIA-L40S:
        price: 19452
        priceMonthly: 14200000
      Tesla-T4:
        price: 19452
        priceMonthly: 14200000
    nvaie:
      price: 16000
      priceMonthly: 11680000
    ram:
      price: 60
      priceMonthly: 300000
    storage:
      local-path:
        price: 1
        priceMonthly: 850
      storage-mgmt:
        price: 2
        priceMonthly: 1000
      storage-nlsas:
        price: 1
        priceMonthly: 850
      storage-nvme-c1:
        price: 2
        priceMonthly: 1650
      storage-nvme-c2:
        price: 2
        priceMonthly: 1650
      storage-nvme-lustre:
        price: 3
        priceMonthly: 2450
      storage-nvme-rdma-c1:
        price: 2
        priceMonthly: 1450
      storage-nvme-rdma-c2:
        price: 2
        priceMonthly: 1450
    updatedBy: cloudeka-system
  status:
    CreatedAt: "2025-02-01 03:05:48"
    updatedAt: "2025-02-01 03:05:48"
kind: List
metadata:
  resourceVersion: ""
```

{% endcode %}

### Metadata

Bagian **metadata** dalam file YAML ini berisi informasi tentang identitas dan status resource **CloudekaPrice** dalam cluster Kubernetes. Nama resource adalah **`default`**, yang menunjukkan bahwa ini adalah konfigurasi harga default dalam namespace **`default`**. Versi generasi (**`generation: 3`**) menunjukkan bahwa resource ini telah diperbarui sebanyak tiga kali. Selain itu, **`resourceVersion: "948453"`** digunakan oleh Kubernetes untuk melacak perubahan pada resource ini. Setiap resource di Kubernetes memiliki **UID** yang unik, dalam hal ini, **`a5586724-04c4-404f-9f3c-96dd72932437`**, yang memastikan bahwa resource ini dapat diidentifikasi secara unik dalam sistem.

### Specification

Mendefinisikan **detail harga** untuk berbagai resource dalam lingkungan Cloudeka.

#### CPU Pricing

```yaml
cpu:
  price: 100
  priceMonthly: 500000
```

CPU diberi harga Rp100 per jam atau per unit penggunaan, dan Rp500.000 per bulan.

#### Floating IP

```yaml
floatingIP:
  price: 103
  priceMonthly: 75000
```

Floating IP diberi harga Rp103 per jam, dan Rp75.000 per bulan.

#### GPU Pricing

```yaml
gpu:
  NVIDIA-H100-80GB-HBM3:
    price: 63356
    priceMonthly: 46250000
  NVIDIA-H100-80GB-HBM3-MIG-1g.10gb:
    price: 19178
    priceMonthly: 14000000
  NVIDIA-L40S:
    price: 19452
    priceMonthly: 14200000
```

Harga GPU bervariasi berdasarkan model dan konfigurasi GPU. Struktur harga mencakup GPU berperforma tinggi seperti **NVIDIA H100 80GB HBM3**, yang memiliki harga per jam sebesar Rp**63.356** dan harga per bulan sebesar Rp**46.250.000**, menjadikannya salah satu opsi termahal karena kemampuannya yang tinggi. Terdapat juga beberapa **konfigurasi MIG (Multi-Instance GPU)** dari model H100, seperti **1g.10GB, 1g.10GB-SHARED, 1g.20GB, dan 1g.40GB**, yang semuanya diberi harga Rp**19.178 per jam** dan Rp**14.000.000 per bulan**. Selain itu, model GPU lain seperti **NVIDIA L40S** tersedia dengan tarif per jam sebesar Rp**19.452** dan harga per bulan sebesar Rp**14.200.000**, menjadikannya alternatif yang lebih terjangkau.

#### NVAIE Pricing

```bash
    nvaie:
      price: 16000
      priceMonthly: 11680000
```

NVAIE (NVIDIA AI Enterprise) diberi harga Rp**16.000 per unit** dan Rp**11.680.000 per bulan**.

#### RAM Pricing

```yaml
ram:
  price: 60
  priceMonthly: 300000
```

Harga RAM adalah Rp60 per jam, dan Rp300.000 per bulan.

#### Storage Pricing

```yaml
storage:
  local-path:
    price: 1
    priceMonthly: 850
  storage-mgmt:
    price: 2
    priceMonthly: 1000
  storage-nvme-c1:
    price: 2
    priceMonthly: 1650
  storage-nvme-lustre:
    price: 3
    priceMonthly: 2450
```

Struktur harga mencakup beberapa tipe storage, masing-masing dirancang untuk kasus penggunaan tertentu. Opsi **local-path** dan **storage-nlsas** adalah yang paling terjangkau, dengan harga per jam sebesar **Rp1,** dan harga per bulan sebesar **Rp850**. Class **storage-mgmt**, yang kemungkinan menawarkan performa atau fitur manajemen yang lebih baik, diberi harga sedikit lebih tinggi yaitu **Rp2 per jam** dan **Rp1.000 per bulan**. Solusi storage yang lebih canggih, seperti **storage-nvme-c1 dan storage-nvme-c2**, tersedia dengan harga **Rp2 per jam** dan **Rp1.650 per bulan**, memberikan performa storage berbasis NVMe yang lebih cepat. **storage-nvme-lustre**, yang dioptimalkan untuk workload berperforma tinggi, memiliki tarif yang lebih tinggi yaitu **Rp3 per jam** dan **Rp2.450 per bulan**.

## Cloudeka Charges

**Cloudeka Charges** adalah modul yang menampilkan biaya yang dikenakan berdasarkan penggunaan per jam Anda.

```
kubectl get charges
```

## Cloudeka Floating IPs

**Cloudeka Floating IPs** adalah modul yang digunakan untuk menampilkan alamat Public IP yang digunakan untuk terhubung ke Virtual Machine (VM). Anda dapat menjalankan sintaks berikut.

```
kubectl get cfip
```

## Cloudeka Resources

**Cloudeka Resources** menampilkan modul resource yang digunakan dalam Pod yang merupakan kombinasi dari CPU, RAM, dan GPU, serta biaya layanan yang dikenakan per jam. Anda dapat menjalankan sintaks berikut.

```
kubectl get container
```

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXeiCncbjJe3IItTfdwOgMY1rLMELfkEE1FCm1R85cP03R3TDVnvs3dfhacIBBvtXDPv2BcGWZ7cLTPVHoB5Gp6rBE6PKLuE23xKH8DZfz7oasGFvoeDMy5zUraQXK-I7TJKWc7R?key=j5cAgZ4reQhgRipI177hLQ" alt=""><figcaption></figcaption></figure>

Pada gambar di atas setelah Anda menjalankan sintaks `kubectl get container`, akan ditampilkan beberapa kolom di antaranya sebagai berikut.

<table><thead><tr><th width="160">Kolom</th><th>Deskripsi</th></tr></thead><tbody><tr><td>NAME</td><td>Nama container atau pod. Di sini, gpu-pod, pod-1, dan pod-2.</td></tr><tr><td>KIND</td><td>Tipe resource. pod-1 dan pod-2 bertipe Pod, sedangkan gpu-pod tidak menentukan kind, kemungkinan menunjukkan pengelompokan level yang lebih tinggi.</td></tr><tr><td>CPU</td><td>CPU yang dialokasikan untuk setiap pod. Setiap pod (pod-1 dan pod-2) memiliki 1 core CPU.</td></tr><tr><td>RAM</td><td>Memori yang dialokasikan untuk setiap pod, yaitu 512Mi (512 Megabyte).</td></tr><tr><td>CHARGE</td><td>Biaya yang terkait dengan setiap pod, ditampilkan sebagai Rp130.</td></tr><tr><td>STATUS</td><td>Status container saat ini. Baik pod-1 maupun pod-2 dalam status Running, yang berarti keduanya aktif dan berfungsi.</td></tr></tbody></table>

## Cloudeka Resources Storages

**Cloudeka Resources Storages** adalah modul yang menampilkan resource storage yang digunakan dalam Persistent Volume Claims (PVC), dan biaya layanan yang dikenakan dihitung per jam. Anda dapat menjalankan sintaks berikut.

```
kubectl get storage
```

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdE9e2s19F6Soae6u9PjI05CGuA49KYFd5U4gg_dwtvEfy3Z4XrGBq0VBKpyHUkn4VxClydklBItDfNpTQG3Dc-8vfvT4X58RK1IAYJUtcpTi3dZ9B9W-uUCI-WYpQvkoldQzekTg?key=j5cAgZ4reQhgRipI177hLQ" alt=""><figcaption></figcaption></figure>

Pada gambar di atas setelah Anda menjalankan sintaks `kubectl get storage`, akan ditampilkan beberapa kolom di antaranya sebagai berikut.

<table><thead><tr><th width="238">Kolom</th><th>Deskripsi</th></tr></thead><tbody><tr><td>NAME</td><td>Nama resource storage, dalam hal ini, persistentvolumeclaim-cufdp.</td></tr><tr><td>STORAGECLASSNAME</td><td>Storage class yang ditetapkan untuk storage tersebut, yaitu storage-mgmt. Ini menentukan tipe dan metode provisioning storage.</td></tr><tr><td>SIZE</td><td>Ukuran storage yang dialokasikan, yaitu 1Gi (1 Gigabyte).</td></tr><tr><td>CHARGE</td><td>Biaya storage, ditampilkan sebagai Rp2. Ini dapat menunjukkan unit biaya atau tingkat biaya.</td></tr><tr><td>STATUS</td><td>Status storage saat ini, yaitu Bound, yang berarti storage tersebut berhasil terpasang ke Persistent Volume.</td></tr></tbody></table>

## Cloudeka VPC

**Cloudeka VPC** adalah modul yang menampilkan Virtual Private Cloud (VPC) untuk melakukan isolasi jaringan pada setiap namespace virtual di vCluster. Anda dapat menjalankan sintaks berikut.

```
kubectl get cvpc
```

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXexGtaX1LoAlAOjnceMPDKYfmfLKl5XBlR-Ln2n1yF8RM-OlevyRNqUQnEc8xMxKn-R6Lsjln5C78dKrLCm5nGCn4GI8q7yMLXvitKtduDhSaAvIKWpg7dbWrRAh5GSp1nU42CA?key=j5cAgZ4reQhgRipI177hLQ" alt=""><figcaption></figcaption></figure>

Pada gambar di atas setelah Anda menjalankan sintaks `kubectl get cvpc`, akan ditampilkan beberapa kolom di antaranya sebagai berikut.

<table><thead><tr><th width="150">Kolom</th><th>Deskripsi</th></tr></thead><tbody><tr><td>NAME</td><td>Nama Cloud VPC (Virtual Private Cloud), dalam hal ini, default.</td></tr><tr><td>ISOLATE</td><td>Menunjukkan apakah VPC terisolasi. Nilai false berarti VPC tidak terisolasi dan dapat berkomunikasi dengan jaringan lain.</td></tr><tr><td>CIDR</td><td>Blok CIDR (Classless Inter-Domain Routing) yang ditetapkan untuk VPC, yaitu 10.168.176.0/24. Ini berarti jaringan tersebut memiliki rentang alamat IP dari 10.168.176.0 hingga 10.168.176.255.</td></tr><tr><td>GATEWAY</td><td>Gateway default untuk VPC, yaitu 10.168.176.1. IP ini biasanya digunakan untuk merutekan lalu lintas di dalam dan di luar VPC.</td></tr></tbody></table>

## Cloudeka Guard

**Cloudeka Guard** adalah modul yang menampilkan kebijakan jaringan yang diterapkan pada suatu namespace. Anda dapat menjalankan sintaks berikut.

```
kubectl get guard
```
