快速开始
本指南介绍在本地 Kind 集群上安装 Nantian Gateway 的完整流程。完成以下步骤后,控制面、数据面和仪表盘将全部运行。
预计耗时:约五分钟。
请先完成环境要求中的步骤:
- 一个运行中的 Kubernetes 集群(本地开发推荐 Kind)
kubectl和helm已安装并可在PATH中访问- Gateway API CRD 已安装到集群
第一步:安装 Helm Chart
Section titled “第一步:安装 Helm Chart”Nantian Gateway 以 Helm Chart 形式分发。Chart 通过 Helm 仓库 nantian-gw/nantian-gw 提供。
本地开发可直接从 Chart 目录安装:
helm install nantian-gw nantian-gw/nantian-gw安装前查看默认配置:
helm show values nantian-gw/nantian-gw第二步:验证安装
Section titled “第二步:验证安装”Helm 安装完成后,验证所有 Pod 均在运行:
kubectl get pods -n nantian-gw预期输出:
NAME READY STATUS RESTARTS AGEnantian-gw-controlplane-xxxxxxxxx-xxxxx 1/1 Running 0 30snantian-gw-controlplane-xxxxxxxxx-xxxxx 1/1 Running 0 20snantian-gw-dataplane-xxxxxxxxx-xxxxx 1/1 Running 0 25snantian-gw-dataplane-xxxxxxxxx-xxxxx 1/1 Running 0 15snantian-gw-dashboard-xxxxxxxxx-xxxxx 1/1 Running 0 10s部署应包含两个控制面副本、两个数据面副本和一个仪表盘 Pod。每个 Pod 的 READY 列应显示 1/1,STATUS 列显示 Running。
验证 GatewayClass 资源已创建:
kubectl get gatewayclass预期输出:
NAME CONTROLLER ACCEPTED AGEnantian-gateway gateway.nantian.io/gateway-controller True 1m第三步:部署示例应用
Section titled “第三步:部署示例应用”Chart 包含一个示例应用,用于演示 Gateway API 路由模型。部署它以验证端到端连通性:
kubectl apply -f gateway/examples/httpbin.yaml此清单为 httpbin 测试应用创建 Deployment、Service 和 HTTPRoute。
验证路由已创建:
kubectl get httproute预期输出:
NAME HOSTNAMES AGEhttpbin-route 1m第四步:测试网关
Section titled “第四步:测试网关”通过网关向示例应用发送请求:
curl -s http://localhost:18080/get预期响应:
{ "args": {}, "headers": { "Accept": "*/*", "Host": "httpbin.example.com", "User-Agent": "curl/8.0.0" }, "origin": "127.0.0.1", "url": "http://httpbin.example.com/get"}响应确认请求已通过数据面到达后端服务。Host 请求头由网关设置,origin 反映数据面的 IP 地址。
Helm 安装创建了以下组件:
- 控制面(2 副本) — 监听 Kubernetes 资源,转换配置,并通过 gRPC xDS 推送至数据面实例
- 数据面(2 副本) — 处理客户端流量,终止 TLS,执行路由,并将请求转发至后端服务
- 仪表盘(1 副本) — 提供基于 Web 的管理界面,用于监控和配置
- GatewayClass — 定义网关控制器实现
- Gateway — 配置 HTTP 和 HTTPS 流量的监听器