MrGuato/pi-cluster
GitHub: MrGuato/pi-cluster
基于树莓派和 k3s 构建的生产级 GitOps Kubernetes 集群模板,帮助开发者在低成本硬件上实践声明式集群管理。
Stars: 1 | Forks: 0
[](https://github.com/MrGuato)






)
# pi-cluster
**Raspberry Pi k3s Kubernetes 集群 — 基于 FluxCD 的 GitOps**
本仓库记录了我基于 **Raspberry Pi 的 Kubernetes 集群** 的完整生命周期,完全采用 **GitOps** 原则并使用 **FluxCD** 进行管理。
这不是一个“玩具”家庭实验室 —— 它是一个**严肃的学习环境**,旨在模拟生产级 Kubernetes 集群的构建、运维和演进方式。
## 项目目标
本项目旨在:
- 以**正确的方式**学习 **Kubernetes**
- 实践** GitOps 优先的集群管理**
- 在最小化硬件上构建生产级工作流
- 将 Raspberry Pi 集群视为真正的平台,而非沙盒
灵感来源于:
- **Kubecraft / Misha Brukman**
- 现实世界的平台工程实践
- Git 驱动的基础设施和自动化
## 核心原则
- **Git 是唯一事实来源**
- 工作负载禁止手动执行 `kubectl apply`
- 声明式优于命令式
- 可复现、可审计的集群状态
- 集群虽小,具备生产级思维
## 集群概览
- **硬件:** Raspberry Pi (ARM64)
- **Kubernetes:** k3s
- **GitOps 引擎:** FluxCD
- **Ingress:** Traefik (k3s 默认)
- **工作负载:** 仅通过 Git 部署
- **管理方式:** 远程 (SSH + kubectl)
## 仓库结构
```
.
├── clusters/
│ └── staging/
│ ├── flux-system/ # Flux bootstrap manifests
│ └── apps.yaml # Flux Kustomization for apps
│
├── apps/
│ ├── base/ # Base app definitions
│ │ └── linkding/
│ │ ├── namespace.yaml
│ │ ├── deployment.yaml
│ │ ├── service.yaml
│ │ └── kustomization.yaml
│ │
│ └── staging/ # Environment overlays
│ └── linkding/
│ └── kustomization.yaml
│
└── README.md
```
标签:ARM64, CD, EC2, FluxCD, GitOps, Home Lab, IaC, K3s, Raspberry Pi, Traefik, 内存执行, 可重现基础设施, 声明式配置, 子域名突变, 家庭实验室, 容器编排, 平台工程, 持续部署, 提示注入, 服务网格, 自动化运维, 软件开发工具包, 边缘计算, 集群管理