MrGuato/pi-cluster

GitHub: MrGuato/pi-cluster

基于树莓派和 k3s 构建的生产级 GitOps Kubernetes 集群模板,帮助开发者在低成本硬件上实践声明式集群管理。

Stars: 1 | Forks: 0

[![Made With Love](https://img.shields.io/badge/Made%20with%20%E2%9D%A4%EF%B8%8F-by%20Jonathan-red)](https://github.com/MrGuato) ![GitHub last commit](https://img.shields.io/github/last-commit/MrGuato/pi-cluster?style=flat-square) ![GitHub repo size](https://img.shields.io/github/repo-size/MrGuato/pi-cluster?style=flat-square) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/MrGuato/pi-cluster?style=flat-square) ![Kubernetes](https://img.shields.io/badge/Kubernetes-k3s-blue?style=flat-square&logo=kubernetes) ![GitOps](https://img.shields.io/badge/GitOps-FluxCD-blueviolet?style=flat-square) ![Architecture](https://img.shields.io/badge/Arch-ARM64-success?style=flat-square) ![Cluster](https://img.shields.io/badge/Cluster-Raspberry%20Pi-red?style=flat-square)) # 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, 内存执行, 可重现基础设施, 声明式配置, 子域名突变, 家庭实验室, 容器编排, 平台工程, 持续部署, 提示注入, 服务网格, 自动化运维, 软件开发工具包, 边缘计算, 集群管理