1.8 KiB
1.8 KiB
02-01 Nginx + 控制节点 + Ingress(M1)
场景:nginx 落在控制节点(
nodeSelector: node-role.kubernetes.io/control-plane),使用标准 Ingress 暴露/demo-m1。整合于02-05-nginx-验证矩阵-一键部署.md。
TL;DR
- 手动练习:以本课清单
ansible/files/02-01/01-control-ingress.yaml复制到目标机,按本文改字段后执行下方kubectl/bash(学习路径可不使用 verify)。 - 自动化验收:
./ansible/bin/verify.sh run 02-01 - 你需要准备:入口节点
:80可达;(可选)nginx_entry_base=http://<入口IP>用于脚本侧 HTTP 校验 - 成功判据:
/demo-m1/返回200且能区分后端(见本篇“验证命令/预期”与 playbook 断言) - 排障:见本文「排障」
前置条件
- 已完成
01-02-k3s-工作节点.md - 控制节点有
node-role.kubernetes.io/control-plane标签 - 入口节点 80 可达
操作步骤
- 部署 nginx Deployment(nodeSelector 控制节点)+ Service
- 创建 Middleware + Ingress(
/demo-m1-> nginx-m1:80) - 等待 Pod 与 Ingress 就绪
示例 YAML 见 ansible/files/02-01/01-control-ingress.yaml。
部署命令
kubectl apply -f ansible/files/02-01/01-control-ingress.yaml
验证命令
kubectl get pod,svc,ing -n default -o wide
curl -i --max-time 3 http://<入口节点IP>/demo-m1/
预期
- 返回 200,页面包含 Welcome to nginx!
- Pod 落在控制节点(
kubectl get pod -o wide的 NODE 列为控制节点)
删除
kubectl delete -f ansible/files/02-01/01-control-ingress.yaml
排障
- 确认 Traefik 接管 Ingress、Service/Endpoint 正常
- 参考
06-01-k3s-networkpolicy-故障排查.md
下一步
- 返回
02-05-nginx-验证矩阵-一键部署.md或00-00-构建总览.md