> 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/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
```
