Architecture
System design documentation and architectural decisions for the fzymgc-house cluster. This section covers the high-level infrastructure design, component interactions, and the reasoning behind key technical choices.
In This Section
Section titled “In This Section”- System Overview — High-level architecture, component relationships, and infrastructure layers
- Architecture Decisions — Architecture Decision Records (ADRs) documenting significant technical choices
Three-Layer Architecture
Section titled “Three-Layer Architecture”The cluster follows a three-layer architecture for infrastructure management:
graph TB
subgraph Layer1[Layer 1: Ansible]
A[Node Configuration]
B[k3s Installation]
C[Base OS Setup]
end
subgraph Layer2[Layer 2: Terraform]
D[Vault Configuration]
E[Keycloak Setup]
F[Grafana Dashboards]
end
subgraph Layer3[Layer 3: ArgoCD]
G[Application Manifests]
H[GitOps Sync]
I[Continuous Deployment]
end
Layer1 --> Layer2 --> Layer3
| Layer | Tool | Purpose |
|---|---|---|
| 1 | Ansible | Cluster deployment, node configuration, k3s installation |
| 2 | Terraform | Infrastructure configuration (Vault, Keycloak, Grafana) |
| 3 | ArgoCD | Application manifests, GitOps-managed deployments |
Hardware Platform
Section titled “Hardware Platform”- Platform: 2x TuringPi 2 boards (alpha/beta)
- Compute: 8x RK1 modules (3 control plane, 5 workers)
- OS: Armbian 25.08 with systemd-networkd
- Networking: Cilium CNI (eBPF + Hubble) with kube-vip for API server HA