2026-08-10 10:48:06 +07:00
2026-08-10 10:48:06 +07:00
2026-08-10 10:48:06 +07:00
2026-08-10 10:48:06 +07:00

K3s SILARAS - Kustomize Dev → Prod

Paket ini sengaja memakai struktur base + overlays/dev + overlays/prod. Tidak ada manifest standalone dan tidak ada shortcut root yang langsung mengarah ke production.

Tujuan alurnya sederhana:

  1. Ubah konfigurasi/image di base atau konfigurasi khusus environment di overlay terkait.
  2. Apply development lebih dulu.
  3. Periksa Pod, Service, PVC, HPA, Ingress, probe, dan log di development.
  4. Jika hasil development sudah baik, apply production.

Struktur

.
├── base/
│   ├── deployment.yaml
│   ├── deployment-probes.yaml
│   ├── deployment-resources.yaml
│   ├── deployment-volumes.yaml
│   ├── pvc.yaml
│   ├── service.yaml
│   └── kustomization.yaml
└── overlays/
    ├── dev/
    │   ├── namespace.yaml
    │   ├── configmap.yaml
    │   ├── hpa.yaml
    │   ├── ingress.yaml
    │   └── kustomization.yaml
    └── prod/
        ├── namespace.yaml
        ├── configmap.yaml
        ├── hpa.yaml
        ├── ingress.yaml
        └── kustomization.yaml

1. Preview hasil development

Sebelum apply, lihat manifest final hasil Kustomize:

kubectl kustomize overlays/dev

Jika ingin menyimpan hasil render untuk diperiksa:

kubectl kustomize overlays/dev > /tmp/silaras-dev-rendered.yaml

2. Apply development

kubectl apply -k overlays/dev

Pantau rollout:

kubectl rollout status deployment/silaras-dev -n rssa-apps-dev
kubectl get deploy,pod,svc,pvc,ingress,hpa -n rssa-apps-dev

Periksa log:

kubectl logs -n rssa-apps-dev deployment/silaras-dev --tail=100

Periksa PVC/HPA jika diperlukan:

kubectl describe pvc silaras-dev -n rssa-apps-dev
kubectl describe hpa silaras-dev -n rssa-apps-dev

Jika development bermasalah, jangan apply production. Perbaiki manifest lalu apply ulang:

kubectl apply -k overlays/dev

3. Preview production

Setelah development lolos:

kubectl kustomize overlays/prod

Opsional simpan render:

kubectl kustomize overlays/prod > /tmp/silaras-prod-rendered.yaml

4. Apply production

kubectl apply -k overlays/prod

Pantau rollout:

kubectl rollout status deployment/silaras-prod -n rssa-apps-prod
kubectl get deploy,pod,svc,pvc,ingress,hpa -n rssa-apps-prod

Periksa log:

kubectl logs -n rssa-apps-prod deployment/silaras-prod --tail=100

Konfigurasi yang dipertahankan

  • Tidak memakai Kubernetes Secret untuk environment aplikasi.
  • Environment berasal dari ConfigMap melalui envFrom.
  • Tidak memakai imagePullSecrets.
  • HPA: minimum 1, maksimum 1, target CPU 70%.
  • PVC 8Gi, ReadWriteMany, StorageClass nas-rx300.
  • PVC di-mount ke /var/www/html/writable/uploads.
  • CPU request 100m dan limit 500m.
  • Memory request 200Mi dan limit 2Gi.
  • Startup/readiness/liveness probe menggunakan HTTP /login port 80.
  • imagePullPolicy: IfNotPresent.
  • Ingress menggunakan class traefik-internal.

Catatan development

overlays/dev/configmap.yaml masih berisi:

DB_PASS: "CHANGE_ME_DEV_DB_PASSWORD"

Isi dengan password database development yang benar sebelum pengujian aplikasi.

Catatan production

Production hanya perlu diaplikasikan setelah hasil development dianggap baik:

kubectl apply -k overlays/prod

Tidak ada standalone-prod.yaml, kustomization.yaml di root, atau konfigurasi Fleet yang dapat menjadi jalan pintas untuk langsung menerapkan production.

S
Description
No description provided
Readme
29 KiB
0 Stars 1 Watchers 0 Forks