- ansible/files 改为与文档 XX-YY 对齐的目录结构,更新相关 playbook 路径 - 新增 scripts/verify.sh 与 ansible/playbooks/verify/*.yml,移除单体 verify-matrix.yml - 补充 docs/00-02 矩阵状态、00-05 验证框架与流程、00-04 环境与 ylc65 工作机说明 - 增加 k3s 存储准备、Longhorn、local-path 等 playbook 与辅助脚本 Made-with: Cursor
52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
# 02-02 Nginx + 控制节点 + IngressRoute(M2)
|
||
|
||
> 场景:nginx 指定一台控制节点(`nodeSelector: kubernetes.io/hostname: ylc61`),路由使用 Traefik CRD `IngressRoute`,暴露 `/demo-m2`。整合于 `02-05-nginx-验证矩阵-一键部署.md`。
|
||
|
||
## 前置条件
|
||
|
||
- 已完成 `01-02-k3s-工作节点.md`
|
||
- Traefik CRD 可用
|
||
- 按实际控制节点名(如 ylc61)修改 `nodeSelector` 中的 hostname
|
||
|
||
## 操作步骤
|
||
|
||
1. 部署 nginx Deployment(nodeSelector 指定控制节点 hostname)+ Service
|
||
2. 创建 Middleware + IngressRoute(`PathPrefix(/demo-m2)`)
|
||
3. 等待资源就绪
|
||
|
||
示例 YAML 见 `ansible/files/02-05-nginx-matrix/02-control-ingressroute.yaml`。
|
||
|
||
## 部署命令
|
||
|
||
```bash
|
||
kubectl apply -f ansible/files/02-05-nginx-matrix/02-control-ingressroute.yaml
|
||
```
|
||
|
||
## 验证命令
|
||
|
||
```bash
|
||
kubectl get pod,svc -n default -o wide
|
||
kubectl get ingressroute -n default
|
||
curl -i --max-time 3 http://<入口节点IP>/demo-m2/
|
||
```
|
||
|
||
## 预期
|
||
|
||
- 返回 200,页面包含 Welcome to nginx!
|
||
- Pod 落在指定控制节点
|
||
|
||
## 删除
|
||
|
||
```bash
|
||
kubectl delete -f ansible/files/02-05-nginx-matrix/02-control-ingressroute.yaml
|
||
```
|
||
|
||
## 失败排查
|
||
|
||
- 确认 CRD 已存在、Traefik 日志无路由错误
|
||
- 参考 `06-01-k3s-networkpolicy-故障排查.md`
|
||
|
||
## 下一步
|
||
|
||
- 返回 `02-05-nginx-验证矩阵-一键部署.md` 或 `00-00-构建总览.md`
|