- Addition of FLASK_ENV setting for all eveai services
- Addition of flower to the monitoring stack
This commit is contained in:
@@ -725,6 +725,90 @@ Let op: apply alleen triggert niet altijd een rollout als er geen inhoudelijke s
|
||||
- Kubernetes cluster overview (metrics)
|
||||
- Kubernetes cluster logs (controlplane logs)
|
||||
|
||||
### Phase 11: Flower Setup
|
||||
|
||||
#### Overzicht
|
||||
Flower is de Celery monitoring UI. We deployen Flower in de namespace `monitoring` via de bjw-s/app-template Helm chart. Er is geen Ingress; toegang gebeurt enkel lokaal via `kubectl port-forward`. Verbinding naar Redis gebruikt TLS met je private CA; hostname‑verificatie staat uit omdat je via IP verbindt.
|
||||
|
||||
#### Helm repository toevoegen
|
||||
```bash
|
||||
helm repo add bjw-s https://bjw-s-labs.github.io/helm-charts
|
||||
helm repo update
|
||||
helm search repo bjw-s/app-template
|
||||
```
|
||||
|
||||
#### Deploy (aanbevolen: alleen Flower via Helm CLI)
|
||||
Gebruik gerichte commando’s zodat enkel Flower wordt beheerd door Helm en de rest van de monitoring stack ongemoeid blijft.
|
||||
```bash
|
||||
# 1) ExternalSecrets en NetworkPolicy aanmaken
|
||||
kubectl apply -f scaleway/manifests/base/monitoring/flower/externalsecrets.yaml
|
||||
kubectl apply -f scaleway/manifests/base/monitoring/flower/networkpolicy.yaml
|
||||
|
||||
# 2) Flower installeren via Helm (alleen deze release)
|
||||
helm upgrade --install flower bjw-s/app-template \
|
||||
-n monitoring --create-namespace \
|
||||
-f scaleway/manifests/base/monitoring/flower/values.yaml
|
||||
```
|
||||
Wat dit deployt:
|
||||
- ExternalSecrets: `flower-redis` (REDIS_USER/PASS/URL/PORT) en `flower-ca` (REDIS_CERT) uit `scaleway-cluster-secret-store`
|
||||
- Flower via Helm (bjw-s/app-template):
|
||||
- Image: `mher/flower:2.0.1` (gepind)
|
||||
- Start: `/usr/local/bin/celery --broker=$(BROKER) flower --address=0.0.0.0 --port=5555`
|
||||
- TLS naar Redis met CA-mount op `/etc/ssl/redis/ca.pem` en `ssl_check_hostname=false`
|
||||
- Hardened securityContext (non-root, read-only rootfs, capabilities drop)
|
||||
- Probes en resource requests/limits
|
||||
- Service: ClusterIP `flower` op poort 5555
|
||||
- NetworkPolicy: ingress default-deny; egress enkel naar Redis (172.16.16.2:6379/TCP) en CoreDNS (53 TCP/UDP)
|
||||
|
||||
#### Verifiëren
|
||||
```bash
|
||||
# Helm release en resources
|
||||
helm list -n monitoring
|
||||
kubectl -n monitoring get externalsecret
|
||||
kubectl -n monitoring get secret | grep flower
|
||||
kubectl -n monitoring get deploy,po,svc | grep flower
|
||||
kubectl -n monitoring logs deploy/flower --tail=200 || true
|
||||
```
|
||||
|
||||
#### Toegang (port-forward)
|
||||
```bash
|
||||
kubectl -n monitoring port-forward svc/flower 5555:5555
|
||||
# Browser: http://localhost:5555
|
||||
```
|
||||
|
||||
#### Security & TLS
|
||||
- Geen Ingress/extern verkeer; enkel port-forward.
|
||||
- TLS naar Redis met CA-mount op `/etc/ssl/redis/ca.pem`.
|
||||
- Omdat je Redis via IP aanspreekt, staat `ssl_check_hostname=false`.
|
||||
- Strikte egress NetworkPolicy: update het IP indien je Redis IP verandert.
|
||||
|
||||
#### Troubleshooting
|
||||
```bash
|
||||
# Secrets en ExternalSecrets
|
||||
kubectl -n monitoring describe externalsecret flower-redis
|
||||
kubectl -n monitoring describe externalsecret flower-ca
|
||||
|
||||
# Pods & logs
|
||||
kubectl -n monitoring get pods -l app=flower -w
|
||||
kubectl -n monitoring logs deploy/flower --tail=200
|
||||
|
||||
# NetworkPolicy
|
||||
kubectl -n monitoring describe networkpolicy flower-policy
|
||||
```
|
||||
|
||||
#### Alternatief: Kustomize rendering (let op!)
|
||||
Je kunt Flower ook via Kustomize renderen samen met de monitoring chart:
|
||||
```bash
|
||||
kubectl kustomize --enable-helm scaleway/manifests/base/monitoring | kubectl apply -f -
|
||||
```
|
||||
Let op: dit rendert en apply’t álle resources in de monitoring Kustomization, inclusief de kube-prometheus-stack chart. Gebruik dit alleen als je bewust de volledige monitoring stack declaratief wil bijwerken.
|
||||
|
||||
#### Migratie & Opschonen
|
||||
Als je eerder de losse Deployment/Service hebt gebruikt:
|
||||
```bash
|
||||
kubectl -n monitoring delete deploy flower --ignore-not-found
|
||||
kubectl -n monitoring delete svc flower --ignore-not-found
|
||||
```
|
||||
|
||||
## Verification and Testing
|
||||
|
||||
|
||||
Reference in New Issue
Block a user