CC CLOUD

3 Node K3s Private Cloud Cluster

3
节点
60
Pods
48C
CPU 线程
90Gi
内存
2.8T
NVMe
18
服务
开发工具
Git
Gitea
http://gitea.yun.local
自托管 Git 代码仓库。支持 Pull Request、代码审查、Issue 跟踪、Wiki、Release、Webhook、OAuth2。替代 GitHub/GitLab,数据完全私有。
代码托管 PR / Issue OAuth
CI
Woodpecker CI
http://ci.yun.local
轻量级 CI/CD 引擎,与 Gitea 深度集成。Push 代码自动触发构建、测试、打镜像、部署。YAML 配置,2 个 Agent 并发执行。
CI/CD 自动构建 K8s 后端
Img
Docker Registry
http://registry.yun.local
私有 Docker 镜像仓库。CI 构建的镜像存这里,K8s 部署从这里拉取。内网传输 ~100MB/s,不依赖外网。50Gi 存储。
镜像仓库 50Gi
S3
MinIO
http://minio.yun.local
S3 兼容的对象存储。用于备份存储、文件上传、静态资源、数据湖。支持 AWS S3 SDK 直接对接。50Gi 存储。
对象存储 S3 API 备份
监控与日志
G
Grafana
http://grafana.yun.local
统一可视化平台。预置 K8s 集群面板(节点、Pod、命名空间)。支持自定义 Dashboard 监控应用指标。集成 Prometheus 指标 + Loki 日志查询。
监控面板 日志查询 告警
P
Prometheus
集群内部: prometheus...monitoring.svc:9090
时序数据库,定期采集所有服务指标。监控 CPU / RAM / 磁盘 / 网络 / Pod 状态 / 数据库连接数。PromQL 查询,20Gi 存储,15 天保留。
指标采集 PromQL 20Gi
L
Loki + Promtail
集群内部: loki.monitoring.svc:3100
日志聚合系统。Promtail 在每个节点采集所有容器日志,Loki 索引存储。在 Grafana Explore 中用 LogQL 查询,保留 7 天。
日志 LogQL 7 天保留
A
Alertmanager
集群内部: alertmanager...monitoring.svc:9093
告警管理。接收 Prometheus 告警,去重、分组、路由后发送通知。支持邮件、Webhook(飞书/钉钉)、PagerDuty。
告警 Webhook 通知
数据服务
PG
PostgreSQL
外部: 100.109.80.57:30432 | 内部: pg-cluster-rw.database.svc:5432
企业级关系型数据库。CloudNativePG 管理,1 主 + 1 从自动故障转移。支持 ACID、JSON、全文搜索。TPS 3000~8000,读写分离可翻倍。
主从高可用 20Gi x 2 自动故障转移
R
Redis
集群内部: redis.database.svc:6379
高速内存键值存储。用于缓存、Session、消息队列、分布式锁、排行榜。QPS 10 万+,延迟 <1ms。2GB 内存,AOF 持久化。
缓存 消息队列 10万 QPS
基础设施
LH
Longhorn
http://longhorn.yun.local
分布式块存储。为所有有状态服务提供持久化卷,数据 2 副本跨节点,任一节点故障数据不丢。支持快照、扩容、备份到 S3。可用 ~1.2TB。
分布式存储 2 副本 ~1.2TB 可用
T
Traefik
集群入口: N0:80 / N0:443
统一流量网关。所有 HTTP/HTTPS 请求通过 Traefik 按域名路由到后端服务。支持 TLS 终结、限流、重定向、BasicAuth。并发 5000~10000 连接。
反向代理 TLS 路由
CM
cert-manager
内网 CA: *.yun.local 通配符证书
证书自动化管理。内网 CA 为所有 *.yun.local 签发 HTTPS 证书,自动续期。新服务加 tls:{} 即可自动获得 HTTPS。可对接 Let's Encrypt。
TLS 证书 自动续期 ECDSA
V
Velero
备份 → MinIO S3
集群级备份恢复。定时将所有 K8s 资源序列化存储到 MinIO。每日 02:00 关键服务备份(7 天),每周日 03:00 全集群备份(30 天)。一键灾难恢复。
定时备份 灾难恢复 S3
DNS
CoreDNS (yun-dns)
Tailscale Split DNS: *.yun.local → 100.109.80.57
内网 DNS 服务。自动解析所有 *.yun.local 域名,Tailscale 成员无需手动配 hosts 文件。新增服务只需加一条 DNS 记录。
DNS 自动解析 Tailscale
集群信息

节点

N0 (master)Ryzen 7 H255 · 30Gi · 953G NVMe
N1 (worker)Ryzen 7 8745HS · 30Gi · 953G NVMe
N2 (worker)Ryzen 7 H255 · 30Gi · 953G NVMe

网络访问

DNSTailscale 自动解析 *.yun.local
Tailscale IP100.109.80.57
局域网 IP192.168.71.15
PG 外部100.109.80.57:30432

资源余量

CPU~47 核可用 (当前使用 <1%)
内存~80Gi 可用 (当前使用 9%)
存储~1.2TB 可用 (2 副本有效)
Pod 余量270 个 (当前 60 / 最大 330)

文档

项目仓库gitea.yun.local/infra/op
操作日志infra/ops-log Wiki
ETL 指南guides/etl-developer-guide.md
角色定义roles/*.md