Ice-Kubernetes

View on GitHub


Ice-Kubernetes

Migration from Docker Compose stacks to a centralized K3s Kubernetes cluster with GitOps (ArgoCD) and monitoring (Prometheus/Grafana).

Architecture

                    +---------------------+
                    |   GitHub (GitOps)   |
                    |  Ice-Kubernetes.git |
                    +----------+----------+
                               |
                               v
                    +----------+----------+
                    |      ArgoCD         |
                    | (auto-sync to K3s)  |
                    +----------+----------+
                               |
         +---------------------+---------------------+
         |                     |                      |
+--------v--------+  +---------v--------+  +----------v---------+
| K3s Server Node |  | K3s Agent Node   |  | Docker Host        |
| (Control Plane) |  | (GPU Worker)     |  | (Monitored Only)   |
| - Core Platform |  | - GPU Workloads  |  | - NFS Storage      |
| - App Workloads |  | - ML Inference   |  | - Legacy Containers|
+-----------------+  +------------------+  +--------------------+

Cluster Nodes

Role Host OS CPU RAM Storage GPU Status
Server NUC-HA Debian 13 i7-8559U (8T) 32GB 1.2TB NVMe - Planned
Agent ki01 Ubuntu 24.04 8 vCPU 16GB 2.9TB RTX 3060 12GB Planned
Agent kibana-osint Ubuntu 24.04 12 vCPU 32GB 7.9TB - Planned
Monitor-only Synology NAS DSM 7 8 vCPU 32GB 22TB+ - Docker

Core Platform

Component Purpose Deployment
K3s Lightweight Kubernetes Binary install
ArgoCD GitOps / Continuous Deployment Helm chart
Prometheus + Grafana Monitoring & Dashboards Helm chart (kube-prometheus-stack)
MetalLB LoadBalancer for bare-metal Helm chart
Traefik Ingress Controller Built into K3s
NFS Provisioner Persistent storage via NFS Helm chart

Workloads to Migrate

# Stack Containers Complexity
1 Stock Analyzer 1 Low
2 SearXNG 1 Low
3 Ice-Leak-Monitoring 1 Low
4 eBay Selling Assistant 2 Low
5 Epstein Research 1 Low
6 XWiki + AnythingLLM 5 Medium
7 Cribl / ELK Stack 4 Medium
8 Open Archiver 5 Medium
9 Tax-AI Pipeline 13 High

Not Migrating

Workload Reason
Home Assistant Supervised Managed by hassio_supervisor, would break if moved
InfluxDB, Cribl, Apache2 Native systemd services, not Docker
Synology containers (42) DSM kernel too old for K3s agent, stays Docker + monitored

Quick Start

See docs/01-prerequisites.md to get started.

Documentation

  1. Prerequisites
  2. K3s Server Setup
  3. Core Platform
  4. Workload Migration
  5. Agent Nodes
  6. Monitoring
  7. GitOps with ArgoCD

Directory Structure

.
├── docs/                  # Step-by-step documentation
├── manifests/
│   ├── core/              # ArgoCD, Monitoring, MetalLB, NFS
│   └── apps/              # Application workload manifests
├── helm-values/           # Helm chart value overrides
├── scripts/               # Installation & utility scripts
└── .env.example           # Environment variable template

License

MIT