Files
homelab-infra/clusters/homelab/README.md
T
panxiao81 96f44c7e6a
lint / yaml (push) Successful in 15s
lint / terraform (push) Has been cancelled
lint / ansible (push) Has been cancelled
feat(gitops): 引入 Flux 2.9.5 并退役 Contour
2026-09-09 19:32:57 +00:00

38 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Homelab 集群
这里是单节点 k3s 集群的 Flux reconciliation 入口。集群当前运行 Kubernetes
`v1.36.4+k3s1`,Flux 固定为 `v2.9.5`。
## 首次 bootstrap
仓库经过 PR 审查并合并后,在本机从合并后的 `main` 执行:
```bash
sudo k3s kubectl apply -f clusters/homelab/flux-system/gotk-components.yaml
sudo k3s kubectl apply -f clusters/homelab/flux-system/gotk-sync.yaml
```
`GitRepository/flux-system` 通过集群内 Gitea Service 读取公开仓库,不需要长期
管理员 token,也不依赖 Cloudflare、公网 DNS 或 Envoy Gateway。Gitea 暂时不可用
时,已经应用的资源继续运行,Flux 在 Gitea 恢复后重新同步。
root Kustomization 从 `./clusters/homelab` 开始 reconciliation。初始设置
`prune: false`;在逐项审计现有资源和 field ownership 之前不得开启全局 prune。
计划中的 reconciliation 顺序:
1. namespaces 和 CRD;
2. platform controllers;
3. secret references 和 storage;
4. applications。
首次部署后的最低验证:
```bash
sudo k3s kubectl -n flux-system get pods
sudo k3s kubectl -n flux-system get gitrepositories,kustomizations
```
四个 controller、GitRepository 和 root Kustomization 都必须为 Ready,随后才能
通过单独 PR 引入低风险 canary workload。