update to git
This commit is contained in:
No files matched your search
@@ -0,0 +1,150 @@
|
||||
# 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
|
||||
|
||||
```text
|
||||
.
|
||||
├── 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:
|
||||
|
||||
```bash
|
||||
kubectl kustomize overlays/dev
|
||||
```
|
||||
|
||||
Jika ingin menyimpan hasil render untuk diperiksa:
|
||||
|
||||
```bash
|
||||
kubectl kustomize overlays/dev > /tmp/silaras-dev-rendered.yaml
|
||||
```
|
||||
|
||||
## 2. Apply development
|
||||
|
||||
```bash
|
||||
kubectl apply -k overlays/dev
|
||||
```
|
||||
|
||||
Pantau rollout:
|
||||
|
||||
```bash
|
||||
kubectl rollout status deployment/silaras-dev -n rssa-apps-dev
|
||||
kubectl get deploy,pod,svc,pvc,ingress,hpa -n rssa-apps-dev
|
||||
```
|
||||
|
||||
Periksa log:
|
||||
|
||||
```bash
|
||||
kubectl logs -n rssa-apps-dev deployment/silaras-dev --tail=100
|
||||
```
|
||||
|
||||
Periksa PVC/HPA jika diperlukan:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
kubectl apply -k overlays/dev
|
||||
```
|
||||
|
||||
## 3. Preview production
|
||||
|
||||
Setelah development lolos:
|
||||
|
||||
```bash
|
||||
kubectl kustomize overlays/prod
|
||||
```
|
||||
|
||||
Opsional simpan render:
|
||||
|
||||
```bash
|
||||
kubectl kustomize overlays/prod > /tmp/silaras-prod-rendered.yaml
|
||||
```
|
||||
|
||||
## 4. Apply production
|
||||
|
||||
```bash
|
||||
kubectl apply -k overlays/prod
|
||||
```
|
||||
|
||||
Pantau rollout:
|
||||
|
||||
```bash
|
||||
kubectl rollout status deployment/silaras-prod -n rssa-apps-prod
|
||||
kubectl get deploy,pod,svc,pvc,ingress,hpa -n rssa-apps-prod
|
||||
```
|
||||
|
||||
Periksa log:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```yaml
|
||||
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:
|
||||
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user