Hango 网关快速入门及实践指南
1. 项目介绍
Hango API Gateway 是一个基于 Envoy 和 Istio 的高性能云原生 API 网关。它提供了服务管理和路由规则,支持流量管理、安全控制以及可观测性等功能,旨在帮助开发者轻松构建微服务架构并实现 API 的统一管理。
2. 项目快速启动
环境准备
确保您已经安装了以下工具:
- Docker
- kubectl
- Helm
部署 Hango 网关
- 使用 Git 下载项目源码:
git clone https://github.com/hango-io/hango-gateway.git
cd hango-gateway
- 在 Kubernetes 集群中部署 Hango:
kubectl create namespace hango
helm install hango ./chart --namespace=hango
- 查看部署状态:
kubectl get pods -n hango
启动示例应用
部署完成后,可以尝试启动一个示例应用来测试网关功能:
kubectl apply -f example/deploy.yaml -n hango
访问 Hango UI
找到网关的 NodePort 端口:
kubectl get svc -l app=hango-gateway -o jsonpath='{.items[0].spec.ports[?(@.name=="http")].nodePort}'
在浏览器中输入:
http://<Kubernetes集群任意节点IP>:<NodePort>
这将打开 Hango 的管理界面,您可以在这里进行后续的操作。
3. 应用案例和最佳实践
创建网关
在 Hango UI 中,按需创建网关,如:
- 网关名称:hango_example_gateway
- 网关地址:使用 gateway-proxy 的 K8s 服务地址
- ApiPlane 地址:使用 hango-api-plane 的 K8s 服务地址和端口
- 网关集群名称:example-cluster
- 域名列表:example.com
创建服务和路由
- 创建服务
hango-demo
并绑定相应的服务标识。 - 创建路由
/hango/*
分配给hango-demo
服务,可以设置不同的路由策略。
发布服务
在 Hango UI 中发布 hango-demo
服务,使其对外可用。
测试访问
通过浏览器或者 curl 命令测试新发布的 API:
curl http://<Kubernetes集群任意节点IP>:<NodePort>/hango/test
4. 典型生态项目
Hango API Gateway 支持与以下生态项目集成:
- Kubernetes Gateway API:用于定义网络路由的 Kubernetes 标准 API。
- Istio:强大的服务网格,提供智能路由、流量管理、安全性和监控。
- Service Mesh:如 Envoy、Linkerd 等,作为数据平面提供服务间通信的基础。
此外,Hango 还支持对接各种服务注册中心,如:
- Eureka
- Nacos
- Consul
以及与第三方认证系统集成,例如 OAuth2,JWT 等。
这个快速入门指南涵盖了基本的 Hango 网关部署和使用步骤。更多信息和详细配置,请参考 Hango 官方文档。