Files
cluster/docs/cluster-status.md
T

4.9 KiB

Live Cluster Documentatie (10.2.0.4)

Dit document beschrijft de actuele status, topologie, workloads en configuratie van het live Kubernetes cluster dat draait op host vmserver (10.2.0.4).


🖥️ 1. Node Specificaties & Host Details

Het cluster draait momenteel als een gecombineerde single-node control-plane & worker:

Eigenschap Waarde
Node Naam vmserver
IP-Adres 10.2.0.4 (gemigreerd vanaf 192.168.2.4 via migrate-k8s-node-ip.sh)
Rollen control-plane (draait tevens workloads)
Kubernetes Versie v1.37.0
OS & Kernel Ubuntu 24.04.4 LTS / Linux 6.8.0-142-generic (x86_64)
Container Runtime containerd://2.2.1
CPU Capaciteit 12 vCPU cores (~16% / 1.7 cores in gebruik)
Geheugencapaciteit 60.4 GiB RAM (~49% / 26.6 GiB in gebruik)
Lokale Opslag ~287 GB

🌐 2. Cluster Networking & Ingress

Networking & CNI

  • CNI Provider: Calico (calico-node en calico-kube-controllers).
  • Pod CIDR: 10.10.174.0/...
  • Service CIDR: 10.96.0.0/12
  • DNS:
    • CoreDNS: In-cluster DNS resolutie (10.96.0.10).
    • Dnsmasq: Draait op het hostnetwerk (10.2.0.4:53) voor lokale domeinen (*.lan).

Gateway API & Ingress Routing

De ingress-routering verloopt via Envoy Gateway met HTTPRoute configuraties:

Hostnames Doelservice Namespace Doel
thuus.bnhmeijer.nl argocd-server:80 argocd ArgoCD Web UI & GitOps beheer
herms.bnhmeijer.nl, herms.lan frontend:3000 herms HERMS Brouwinstallatie Web UI
login.bnhmeijer.nl keycloak:8080 keycloak Keycloak Identity & Access Management
influx.bnhmeijer.nl, influx.lan influxdb:8086 cluster-infra InfluxDB Time-Series API
influx-ui.bnhmeijer.nl, influx-ui.lan influxdb-explorer:80 cluster-infra InfluxDB Web Explorer
infra.bnhmeijer.nl, infra.lan, dns.bnhmeijer.nl, dns.lan infra-web:3000 cluster-infra Infra Web Dashboard & DNS beheer
gravitymon.lan gravitymon-2-nats:8002 herms HTTP Ingress voor Gravitymon hydrometers

💾 3. Opslag & Persistent Volumes (PVCs)

Het cluster gebruikt Rancher's local-path-provisioner (local-path-storage namespace) als dynamische CSI provisioner:

Namespace PVC Naam Volume Grootte Toewijzing Status
cluster-infra influxdb-storage-influxdb-0 pvc-6928459f-... 10 GiB InfluxDB Data Bound
cluster-infra mongodb-data-mongodb-0 pvc-151480ce-... 10 GiB MongoDB Data Bound
cluster-infra rabbitmq-data-rabbitmq-0 pvc-44ef79fe-... 5 GiB RabbitMQ Queue Data Bound
cluster-infra influxdb-explorer-data pvc-f03fb841-... 2 GiB Explorer User State Bound
cluster-infra dnsmasq-data pvc-1246f9a0-... 1 GiB Dnsmasq Configuratie Bound
keycloak postgres-pvc pvc-ad5f9b7d-... 1 GiB Keycloak Database Bound

📦 4. Namespaces & Actieve Workloads

herms (Bierbrouwsysteem)

  • frontend: Next.js UI (SevenGrid Aurora Dark Mode).
  • herms-controller: Rust microservice voor stappen, PID-berekening en timers.
  • herms-storage: Rust opslag- en databeheerservice.
  • gravitymon-2-nats: Rust hydrometer event ingress.
  • nats: NATS message bus voor microservices.
  • mosquitto: MQTT broker voor communicatie met firmware / sensoren.

cluster-infra (Gedeelde Middleware)

  • influxdb-0 & influxdb-explorer: Opslag en analyse van telemetriegegevens.
  • mongodb-0: NoSQL documentopslag.
  • rabbitmq-0: AMQP message broker.
  • dnsmasq: Lokale DNS server (HostPort 53).
  • email-service: Interne mailservice.
  • infra-web: Dashboard voor netwerk/infrastructuur.

argocd (GitOps Engine)

  • Bevat argocd-server, argocd-repo-server, argocd-application-controller, argocd-applicationset-controller, argocd-dex-server, argocd-redis en argocd-notifications-controller.
  • Actieve ArgoCD Applicaties:
    • cluster-infra-dnsmasq (Healthy)
    • cluster-infra-email-service (Healthy)
    • cluster-infra-influxdb (Healthy)
    • cluster-infra-infra-web (Healthy)
    • cluster-infra-mongodb (Healthy)
    • cluster-infra-rabbitmq (Healthy)
    • herms-suite (Healthy)

keycloak (Identiteit & Toegangsbeheer)

  • keycloak: Quarkus-based Keycloak Server bereikbaar via login.bnhmeijer.nl.
  • postgres: Dedicated PostgreSQL database voor Keycloak realm-data.

kube-system & envoy-gateway-system

  • Control-plane componenten: kube-apiserver, etcd, kube-controller-manager, kube-scheduler, kube-proxy, metrics-server.
  • Data-plane en ingress proxies: envoy-gateway en envoy-default-eg.