> 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/guideline-for-enterprise/panduan-untuk-enterprise/deka-gpu/deka-gpu-autoscaling/basic-autoscaling.md).

# Autoscaling Dasar

## *Autoscaling* Berdasarkan Penggunaan Sumber Daya

*Autoscaling* berdasarkan penggunaan sumber daya berarti *HPA* (*Horizontal Pod Autoscaler*) menyesuaikan jumlah *pod* replika berdasarkan persentase penggunaan sumber daya (CPU atau memori) terhadap *request* yang ditentukan dalam spesifikasi *Pod*. Jalankan sintaks berikut untuk membuat *file* YAML bernama `hpa`.

```bash
nano hpa.yaml
```

Salin dan tempel isi YAML berikut.

```yaml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: hpa-samplepod-cpu
  namespace: hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: samplepod
  minReplicas: 1
  maxReplicas: 5
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: Utilization
          averageUtilization: 70
    - type: Resource
      resource:
        name: mem
        target:
          type: Utilization
          averageUtilization: 60
  behavior:
    scaleDown:
      stabilizationWindowSeconds: 300
      policies:
        - type: Percent
          value: 100
          periodSeconds: 15
    scaleUp:
      stabilizationWindowSeconds: 0
      policies:
        - type: Percent
          value: 100
          periodSeconds: 15
        - type: Pods
          value: 4
          periodSeconds: 15
      selectPolicy: Max
```

Setelah menempelkan sintaks, simpan *file* dengan menekan Ctrl + O, lalu tekan *Enter*. Keluar dari *editor* dengan menekan Ctrl + X. Selanjutnya, terapkan konfigurasi ini.

```bash
kubectl apply -f hpa.yaml
```

## *Autoscaling* Berdasarkan Nilai Sumber Daya

*Autoscaling* berdasarkan nilai sumber daya berarti *HPA* menyesuaikan jumlah *pod* replika berdasarkan nilai absolut sumber daya yang digunakan (CPU atau memori), tanpa membandingkannya dengan *request*. Jalankan sintaks berikut untuk membuat *file* YAML bernama `hpa`.

```bash
nano hpa.yaml
```

Salin dan tempel isi YAML berikut.

```yaml
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: hpa-samplepod-cpu
  namespace: hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: samplepod
  minReplicas: 1
  maxReplicas: 5
  metrics:
    - type: Resource
      resource:
        name: cpu
        target:
          type: AverageValue
          averageValue: 500m
    - type: Resource
      resource:
        name: mem
        target:
          type: AverageValue
          averageValue: 512Mi
  behavior:
    scaleDown:
      stabilizationWindowSeconds: 300
      poli

```

Setelah menempelkan sintaks, simpan *file* dengan menekan Ctrl + O, lalu tekan *Enter*. Keluar dari *editor* dengan menekan Ctrl + X. Selanjutnya, terapkan konfigurasi ini.

```bash
kubectl apply -f hpa.yaml
```
