74 lines
2.4 KiB
Markdown
74 lines
2.4 KiB
Markdown
# k3s-log-viewer
|
|
|
|
Manifest K3s/Kustomize untuk `log-viewer`, mengikuti struktur `k3s-satusehat`.
|
|
|
|
## Struktur
|
|
|
|
- `base/`: Deployment, Service, resource patch, dan probes.
|
|
- `overlays/dev/`: overlay namespace lama sesuai pola `k3s-satusehat`.
|
|
- `overlays/prod/`: overlay production `rssa-apps-prod-new`.
|
|
- `fleet.yaml`: konfigurasi Fleet.
|
|
- root `kustomization.yaml`: mengarah ke overlay production.
|
|
|
|
## Source log SIMRS
|
|
|
|
`log-viewer` membaca log aplikasi SIMRS dari storage yang sama dengan Deployment `simrs-v3`:
|
|
|
|
- NFS server: `nas-rx300.rssa`
|
|
- NFS export: `/export/simrs/logs`
|
|
- Mount di container: `/app/logs`
|
|
|
|
Overlay **production** tidak menggunakan `hostPath`. Dengan NFS, pod production tidak terikat ke worker tertentu selama node K3s dapat resolve dan mengakses server NFS.
|
|
|
|
Overlay `dev` masih mempertahankan `/mnt/simrs-dev/logs` dari source `docker-compose.yml` karena export NFS SIMRS dev belum diberikan. Jangan anggap export dev sama dengan production tanpa mengecek Deployment SIMRS dev.
|
|
|
|
```yaml
|
|
volumes:
|
|
- name: simrs-logs
|
|
nfs:
|
|
server: nas-rx300.rssa
|
|
path: /export/simrs/logs
|
|
readOnly: false
|
|
```
|
|
|
|
## Image
|
|
|
|
Base image:
|
|
|
|
`git.rssa.top/meninjar/log-viewer:latest`
|
|
|
|
Overlay production saat paket ini dibuat menggunakan:
|
|
|
|
`git.rssa.top/meninjar/log-viewer:20260811055659-main`
|
|
|
|
## Port
|
|
|
|
Aplikasi listen pada TCP `5880`. Service dan probes menggunakan port yang sama.
|
|
|
|
## Replica
|
|
|
|
Replica tetap `1`. Walaupun NFS bersifat shared, source aplikasi mempunyai operasi terhadap file log sehingga multi-replica/HPA perlu diuji terhadap concurrency sebelum diaktifkan.
|
|
|
|
## Deploy / validate
|
|
|
|
Jika `kubectl` memiliki Kustomize builtin:
|
|
|
|
```bash
|
|
kubectl kustomize overlays/prod
|
|
kubectl apply -k overlays/prod
|
|
```
|
|
|
|
Cek hasil:
|
|
|
|
```bash
|
|
kubectl get pod -n rssa-apps-prod-new -l app=log-viewer -o wide
|
|
kubectl describe pod -n rssa-apps-prod-new -l app=log-viewer
|
|
kubectl logs -n rssa-apps-prod-new -l app=log-viewer --tail=100
|
|
```
|
|
|
|
Untuk memastikan NFS dapat diakses dari node tempat pod dijadwalkan, cek event pod. Error seperti `mount.nfs`, `access denied`, `no route to host`, atau DNS failure menunjukkan masalah konektivitas/client NFS di node, bukan aplikasi `log-viewer`.
|
|
|
|
## Catatan environment
|
|
|
|
Pola template `k3s-satusehat` menggunakan `configMapGenerator` untuk file environment dan pola tersebut dipertahankan. Secara security, credential seperti `KEYCLOAK_CLIENT_SECRET` lebih tepat dipindahkan ke Kubernetes Secret/secret manager pada iterasi berikutnya.
|