103 lines
1.9 KiB
Markdown
103 lines
1.9 KiB
Markdown
# BetelgeuseBytes – Infrastructure & Cluster Configuration
|
||
|
||
## Hosting Provider
|
||
|
||
* **Provider**: Hetzner
|
||
* **Server Type**: Dedicated servers
|
||
* **Region**: EU
|
||
* **Network**: Private LAN + WireGuard
|
||
|
||
---
|
||
|
||
## Nodes
|
||
|
||
### Current Nodes
|
||
|
||
| Node | Role | Notes |
|
||
| --------- | ---------------------- | ------------------- |
|
||
| hetzner-1 | control-plane + worker | runs core workloads |
|
||
| hetzner-2 | worker + storage | hosts local SSD PVs |
|
||
|
||
---
|
||
|
||
## Kubernetes Setup
|
||
|
||
* Kubernetes installed via kubeadm
|
||
* Single cluster
|
||
* Control plane is also schedulable
|
||
|
||
### CNI
|
||
|
||
* **Cilium**
|
||
|
||
* eBPF dataplane
|
||
* kube-proxy replacement
|
||
* Network policy support
|
||
|
||
---
|
||
|
||
## Storage
|
||
|
||
### Persistent Volumes
|
||
|
||
* Backed by **local NVMe / SSD**
|
||
* Manually provisioned PVs
|
||
* Bound via PVCs
|
||
|
||
### Storage Layout
|
||
|
||
```
|
||
/mnt/local-ssd/
|
||
├── postgres/
|
||
├── neo4j/
|
||
├── elasticsearch/
|
||
├── prometheus/
|
||
├── loki/
|
||
├── tempo/
|
||
├── grafana/
|
||
├── minio/
|
||
└── qdrant/
|
||
```
|
||
|
||
---
|
||
|
||
## Networking
|
||
|
||
* Ingress Controller: nginx
|
||
* External DNS records → ingress IP
|
||
* TCP mappings for:
|
||
|
||
* PostgreSQL
|
||
* Neo4j Bolt
|
||
|
||
---
|
||
|
||
## TLS & Certificates
|
||
|
||
* cert-manager
|
||
* ClusterIssuer: Let’s Encrypt
|
||
* Automatic renewal
|
||
|
||
---
|
||
|
||
## Namespaces
|
||
|
||
| Namespace | Purpose |
|
||
| ------------- | ---------------------------------- |
|
||
| db | Databases (Postgres, Redis) |
|
||
| graph | Neo4j |
|
||
| broker | Kafka |
|
||
| ml | ML tooling (Jupyter, Argo, MLflow) |
|
||
| observability | Grafana, Prometheus, Loki, Tempo |
|
||
| automation | n8n |
|
||
| devops | Gitea, Argo CD |
|
||
|
||
---
|
||
|
||
## What This Infra Enables
|
||
|
||
* Full on‑prem AI platform
|
||
* Predictable performance
|
||
* Low-latency data access
|
||
* Independence from cloud providers
|