跳转到内容
⚠️ 警告:Nantian Gateway 目前仍处于开发阶段,不适用于生产环境

安装概述

Nantian Gateway 在 Kubernetes 中以三个 workload 运行:Go 控制面、Rust 数据面和可选 dashboard。Helm 是大多数用户和运维人员的推荐安装路径。需要基于 patch 管理清单或接入 GitOps 时,也可以使用 Kustomize overlays。

方式适合场景说明
Helm大多数安装、升级和 values 覆盖。使用 chart 仓库 https://chart.nantian.dev
KustomizeGitOps 或仓库内清单自定义。使用组件仓库中的 overlays。

安装网关前需要先安装 Gateway API CRD。快速开始使用 Gateway API v1.5.1 standard CRD bundle。

默认 Helm 安装使用 nantian-gw 命名空间,并创建以下主要资源:

资源默认名称默认数量或端口作用
Namespacenantian-gw1namespace.create: true 时创建组件命名空间。
控制面 Deploymentnantian-gw-controlplane2 replicas监听 Kubernetes 资源、翻译资源、写入状态并发布快照。
数据面 Deploymentnantian-gw-dataplane2 replicas接收快照并处理运行时流量。
Dashboard Deploymentnantian-gw-dashboard1 replica面向用户和运维人员的 Web UI。
GatewayClassnantian-gw1使用 controller gateway.networking.k8s.io/nantian-gw

Helm chart 会创建 GatewayClass,但不会创建你的应用 GatewayHTTPRoute。这些资源需要在安装后由用户在应用命名空间中创建。

当前 Helm 模板会为控制面、数据面 admin/metrics 和 dashboard 创建固定的 ClusterIP Service:

Service端口作用
nantian-gw-controlplane-grpc18080数据面 xDS/gRPC 连接。
nantian-gw-controlplane-admin18081控制面 Admin API。
nantian-gw-controlplane-metrics18082控制面 Prometheus metrics。
nantian-gw-dataplane-admin19080数据面 Admin API。
nantian-gw-dataplane-metrics19080数据面 metrics 抓取入口。
nantian-gw-dashboard3000Dashboard Web UI。

数据面运行时 HTTP 监听地址配置为 0.0.0.0:10080。请根据环境暴露该监听器,例如本地测试使用 port-forward,集群入口使用 Kubernetes Service overlay。不要把控制面 gRPC、admin 或 metrics Service 暴露到集群外。

Chart 默认值偏保守:

  • 镜像使用 global.imageRegistry: "ghcr.io",仓库分别是 nantian-gw/nantian-controlplanenantian-gw/dataplanenantian-gw/dashboard
  • 控制面和数据面默认各运行 2 个副本;dashboard 默认 1 个副本。
  • Chart 默认使用 featureMode: standard
  • Chart 默认不渲染 Gateway API CRD:gatewayAPI.installCRDs: falsegatewayAPI.channel: standard
  • 数据面和 dashboard 镜像 tag 留空时会回退到 .Chart.AppVersion;当前 chart appVersion 是 0.1.0
  • HPA 默认关闭,配置为 hpa.enabled: false
  • Prometheus Operator ServiceMonitor 默认关闭,配置为 serviceMonitor.enabled: false
  • NetworkPolicy 默认开启,配置为 networkPolicies.enabled: true
  • 数据面默认开启 accessLogVolume.enabled: true,挂载到 /var/log/nantian-gwsizeLimit: 256Mi
  • 实验性 Gateway 和 AI 功能在两个平面里都默认关闭。

安装后先检查 workload 和 GatewayClass:

Terminal window
kubectl get pods -n nantian-gw
kubectl get gatewayclass nantian-gw
kubectl get svc -n nantian-gw

如果 Pod 没有就绪,请查看最近日志:

Terminal window
kubectl logs -n nantian-gw deploy/nantian-gw-controlplane --tail=100
kubectl logs -n nantian-gw deploy/nantian-gw-dataplane --tail=100

随后按照快速开始创建 demo GatewayHTTPRoute

  • 阅读 Helm 安装了解仓库配置、默认值、常见覆盖和卸载命令。
  • 创建 AIServiceTokenPolicyWasmPlugin 或实验性 BackendLBPolicy 前,先阅读实验功能
  • 阅读运维查看安装后的首次检查、Service 名称、日志、metrics 和 admin 访问方式。