对齐文件规范

This commit is contained in:
2026-03-27 16:58:41 +08:00
parent 231b6713c4
commit 31709425e2
235 changed files with 5433 additions and 2850 deletions

View File

@@ -2,6 +2,14 @@
> **定位**02 系列尾部,整合 02-0102-04 的综合一键部署。4 种组合(控制节点/工作节点 × Ingress/IngressRoute均有具体 Deployment + Service + 路由,节点 IP 访问(如 `http://入口IP/demo-m1/`)。
## TL;DR
- **自动化验收**`./scripts/verify.sh run 02-05`
- **关键前置**:按本文「前置条件」准备环境变量/Secret/入口 IP
- **成功判据**:达到本文「预期」且 playbook 断言通过
- **排障**:见本文「排障」
## 前置条件
- 已完成 `01-02-k3s-工作节点.md`Traefik 与 LB 可用)
@@ -23,7 +31,7 @@
## 完整配置(与 Ansible 共用)
配置位于 `ansible/files/02-05-nginx-matrix/`4 个文件对应 M1M4文档与 Ansible 共用此目录:
配置位于 `ansible/files/02-05/`4 个文件对应 M1M4文档与 Ansible 共用此目录:
| 文件 | 场景 | 路径 | 节点 |
|------|------|------|------|
@@ -37,7 +45,7 @@
## 部署
```bash
kubectl apply -f ansible/files/02-05-nginx-matrix/ -R
kubectl apply -f ansible/files/02-05/ -R
kubectl get pod,svc,ing,ingressroute -n default -o wide
```
@@ -110,7 +118,7 @@ Manifest 里四份写法一致,若只有 M1 仍显示默认页,多半是集
```bash
# 在仓库根目录执行时:
kubectl apply -f ansible/files/02-05-nginx-matrix/ -R
kubectl apply -f ansible/files/02-05/ -R
# 若当前在 ansible/ 目录下,改用:
kubectl apply -f files/02-05-nginx-matrix/ -R
@@ -128,7 +136,7 @@ kubectl delete deployment nginx-m1 -n default
kubectl apply -f files/02-05-nginx-matrix/01-control-ingress.yaml
# 若在仓库根目录:
# kubectl apply -f ansible/files/02-05-nginx-matrix/01-control-ingress.yaml
# kubectl apply -f ansible/files/02-05/01-control-ingress.yaml
# 3. 等 Pod Running 后验证
kubectl get pod -n default -l app=nginx-m1
@@ -142,19 +150,19 @@ kubectl exec -n default deployment/nginx-m1 -- cat /etc/nginx/conf.d/default.con
可使用 Ansible playbook 自动完成复制 manifests、apply、等待 Pod 就绪及 curl 验证:
- **Playbook**`ansible/playbooks/nginx-matrix-deploy.yml`
- **Manifests 位置**`ansible/files/02-05-nginx-matrix/`M1 control-plane / M2 M4 节点名 ylc61、ylc64M3 worker按实际修改 M2/M4 节点名)
- **Playbook**`ansible/playbooks/verify/02-05.yml`
- **Manifests 位置**`ansible/files/02-05/`M1 control-plane / M2 M4 节点名 ylc61、ylc64M3 worker按实际修改 M2/M4 节点名)
- **执行(在 ansible/ 目录下)**
```bash
cd ansible
ansible-playbook -i inventory.ini playbooks/nginx-matrix-deploy.yml
ansible-playbook -i inventory.ini playbooks/verify/02-05.yml
```
若 manifests 目录未找到,可改为在仓库根目录执行:
```bash
ansible-playbook -i ansible/inventory.ini ansible/playbooks/nginx-matrix-deploy.yml
ansible-playbook -i ansible/inventory.ini ansible/playbooks/verify/02-05.yml
```
Playbook 会:拷贝 manifests 到控制节点 → **先删除全部 nginx 矩阵 Deployment**nginx-m1m4若存在`kubectl apply``rollout restart` M1M4 → 等待 Pod 就绪 → 输出 16 个目标4 节点 × 4 路径)的 curl 矩阵。先删再 apply 可避免旧 ReplicaSet 导致任一 Mx 仍显示默认页。
@@ -164,14 +172,14 @@ Playbook 会:拷贝 manifests 到控制节点 → **先删除全部 nginx 矩
**手动 kubectl apply 的**:用同一目录删除
```bash
kubectl delete -f ansible/files/02-05-nginx-matrix/ -R
kubectl delete -f ansible/files/02-05/ -R
```
**Ansible playbook 部署的**:在仓库根或 ansible 同级的机器上,用 manifests 删除(需配置 KUBECONFIG
```bash
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml # 或从控制节点拷贝 kubeconfig
kubectl delete -f ansible/files/02-05-nginx-matrix/ -R
kubectl delete -f ansible/files/02-05/ -R
```
若控制节点上 `/tmp/nginx-matrix/` 仍存在,也可在控制节点执行:
@@ -200,3 +208,9 @@ kubectl delete configmap -n default nginx-m1-html nginx-m2-html nginx-m3-html ng
- `02-01``02-04`:分篇说明(路径 /demo-m1m4、nodeSelector 与本文一致)
- `03-02-k3s-traefik-acme.md`
- `06-01-k3s-networkpolicy-故障排查.md`
## 排障
- **先看 playbook 输出**:失败时先定位是 deploy/wait/http_check 哪一步。
- **集群侧总览**`kubectl get nodes -o wide``kubectl -n kube-system get pods -o wide`
- **事件与日志**`kubectl -n <ns> describe ...``kubectl -n <ns> logs ... --tail=200`