1.5 KiB
K8s Pilot
All-in-one Kubernetes management tool for your homelab cluster.
Features: Live logs · Auto-update · Crash history · Health monitoring · Manual restarts · Node status · WebSocket live updates
Deploy
1. Build & push to Gitea Container Registry
# On your Mac (or directly on Pi5 via SSH)
docker buildx build \
--platform linux/arm64 \
-t git.it-microevo.com/<your-user>/k8s-pilot:latest \
--push .
2. Update the image in k8s/deployment.yaml
image: git.it-microevo.com/<your-user>/k8s-pilot:latest
3. Apply manifests
kubectl apply -f k8s/rbac.yaml
kubectl apply -f k8s/deployment.yaml
kubectl apply -f k8s/service.yaml
4. Add to Nginx Proxy Manager
Point pilot.it-microevo.com → k8s-pilot.k8s-pilot.svc.cluster.local:80
Then add the Cloudflare Tunnel rule as usual.
Local dev (on Mac with kubeconfig)
npm install
npm run dev
# open http://localhost:3000
Auto-Update notes
Force Update button triggers a rolling restart and pulls a new image if imagePullPolicy: Always is set (default in the deployment manifest).
For Docker Hub images, Check Update queries the registry API for the latest digest. For GHCR / Gitea registry images, use Force Update directly.
RBAC scope
The service account has cluster-wide read access to pods, events, nodes, and namespaces, plus patch/update on deployments, and delete on pods. It cannot access secrets or config maps.