日常更新

This commit is contained in:
2026-03-29 09:08:01 +08:00
parent 31709425e2
commit befdefd222
224 changed files with 7240 additions and 3297 deletions

View File

@@ -5,7 +5,7 @@
## TL;DR
- **本文性质**:概念/术语速查(不对应独立铺栈)
- **推荐动作**:按 `00-00-构建总览.md` 进入主线;真机验收用 `./scripts/verify.sh full`
- **推荐动作**:按 `00-00-构建总览.md` 进入主线;真机验收用 `./ansible/bin/verify.sh full`
- **成功判据**:能看懂后续文档中的 K3s/K8s 术语node/pod/service/ingress 等)
- **排障**:执行类问题请转到对应实验篇(`01-*`/`02-*`/`03-*`)的「排障」
@@ -16,8 +16,8 @@
## 排障
- **概念读不懂**:先看 `00-04-部署环境说明.md` 了解本仓库“实验室约定”,再回到本篇对照术语与节点角色。
- **想跑命令但本篇没有**:本篇不提供部署/验收命令;按 `00-00` 找到对应实验篇,再跑 `./scripts/verify.sh run <doc_id>`
- **概念读不懂**:先看 `00-02-部署环境说明.md` 了解本仓库“实验室约定”,再回到本篇对照术语与节点角色。
- **想跑命令但本篇没有**:本篇不提供部署/验收命令;按 `00-00` 找到对应实验篇,再跑 `./ansible/bin/verify.sh run <doc_id>`
## 1. K3s 是什么
@@ -118,7 +118,7 @@ K3s 自带 **local-path-provisioner**:当你创建 PVC 且不指定 `storageCl
- **工作机制**PVC 被创建后provisioner 会在 **Pod 被调度到的节点** 上,在其本地磁盘创建目录(默认在 `data-dir` 下的 `storage`,例如 `/var/lib/rancher/k3s/storage``/storage`),并为之创建 PV、与 PVC 绑定。
- **绑定到节点**:数据只存在于该节点的本地目录,**与该节点绑定**Pod 被调度到另一节点时,会拿到新的空卷,旧节点上的数据不会自动迁移。
- **适用场景**:单副本应用、缓存、日志等,能接受 Pod 漂移后数据丢失或需手动恢复。**多副本共享数据**应使用 NFS、CSI 等共享存储(见 `01-05`)。
- **适用场景**:单副本应用、缓存、日志等,能接受 Pod 漂移后数据丢失或需手动恢复。**多副本共享数据**应使用 NFS、CSI 等共享存储(见 `01-04`)。
- **查看**`kubectl get storageclass` 可见 `local-path`(通常为默认);`kubectl get pv,pvc` 可查看已创建的卷。
- **操作示例**:见 `03-05-k3s-local-path-pvc.md`
@@ -126,7 +126,7 @@ K3s 自带 **local-path-provisioner**:当你创建 PVC 且不指定 `storageCl
- **Pod 可以漂移,宿主机本地数据不会跟着漂移**:用 `hostPath` 把宿主机目录挂进容器时数据只在这台机器上Pod 被调度到另一台节点后,那台机器没有同样目录和数据,应用就会“丢数据”。
- **K3s 不会自动帮你搬本地数据**:调度器只管 Pod 放哪台节点,不会同步 `/var/lib/...` 或自建目录;所以“节点故障自动漂移”和“数据高可用”是两件事,要分别设计。
- **常见做法**重要数据用共享存储NFS / 云盘 / CSI通过 PV/PVC 给 Pod 用(参考 `01-05``03-07`);缓存、临时文件用本地目录(`emptyDir``hostPath`),接受节点挂了可丢;或靠备份/同步把本地目录定期同步到别处,再在新节点恢复。
- **常见做法**重要数据用共享存储NFS / 云盘 / CSI通过 PV/PVC 给 Pod 用(参考 `01-04``03-07`);缓存、临时文件用本地目录(`emptyDir``hostPath`),接受节点挂了可丢;或靠备份/同步把本地目录定期同步到别处,再在新节点恢复。
**用途**:搞清楚数据放哪、节点挂了会不会丢,才能设计备份和高可用,避免常见存储与可用性误区。
@@ -143,7 +143,16 @@ K3s 自带 **local-path-provisioner**:当你创建 PVC 且不指定 `storageCl
参考:`02-05-nginx-验证矩阵-一键部署.md` 删除小节。
## 10. 下一步
## 10. Helm 简介(与本仓库)
- **是什么****Helm** 把 Kubernetes 应用打成 **Chart**(模板 + 默认配置),用 **`helm install` / `helm upgrade`** 一次装一类组件(如 Longhorn、Prometheus 全家桶),并可用 **values 文件**覆盖默认参数。
- **和 `kubectl apply` 的关系**Helm 最终仍会把渲染后的 YAML **提交给 API Server**;你手里拿的 **values.yaml** 不是直接 `kubectl apply` 的对象,除非先从 chart 渲染出清单(`helm template`)。
- **和 K3s 的关系**K3s 集群里常见两条线并存:
- **`helm` 命令**:你在 shell 里对集群执行(需本机安装 CLI`00-02` §1.2)。
- **HelmChart / HelmChartConfig**CRD由 k3s 在 **`kube-system`** 里调度部分内置 chart如 Traefik改 Traefik 端口等可参见 `03-10``HelmChartConfig` 清单。
- **本仓库去哪学**:存储 **`03-07`**,监控 **`05-05`**Traefik 参数注入 **`03-10`**GitOps 里 Argo 安装方式 **`03-09`**;验证框架里对 Helm 超时与排障的约定见 **`00-03`** §2.1。
## 11. 下一步
- `01-01-k3s-控制节点含traefik.md`
- `01-02-k3s-工作节点.md`