快速开始
本快速入门将引导你使用 Docker Compose 在本地部署 API7 网关,创建第一个服务和路由,并验证 API 流量已通过网关代理。
预计用时:约 10 分钟
前提条件
| 要求 | 最低版本 |
|---|---|
| Docker | v20.10+ |
| Docker Compose | v2.0+ |
| curl | 任意版本 |
| API7 企业版许可证 | 获取试用许可证 |
第 1 步:安装 API7 网关
运行快速入门脚本以部署所有 API7 网关组件:
curl -sL "https://run.api7.ai/api7/quickstart" | bash
该命令会启动控制面、控制台、DP Manager、网关、PostgreSQL 和 Prometheus。请等待脚本执行完成;你应 看到类似输出:
✔ Container api7-ee-postgresql
✔ Container api7-ee-prometheus
✔ Container api7-ee-api7-ee-dashboard
✔ Container api7-ee-api7-ee-dp-manager
✔ Container api7-ee-api7-ee-gateway
...
✔ API7-EE is ready!
验证所有容器均在运行:
docker ps
你应能看到 api7-ee-gateway、api7-ee-dashboard、api7-ee-dp-manager、api7-ee-postgresql 和 api7-ee-prometheus 容器。
第 2 步:激活 API7 网关
-
在浏览器中打开
https://localhost:7443。 -
使用默认凭证登录:
字段 值 用户名 admin密码 admin -
上传 API7 企业版许可证以激活平台。
快速入门会自动创建一个带有网关实例的默认网关组。你可以在控制台侧边栏中进入 Gateway Groups 进行确认。
如果想在后续步骤中使用 Admin API,请从控制台创建令牌,然后将其导出为环境变量:
export API_KEY="a7ee-xxxxxxxxxxxxx"
第 3 步:创建服务和路由
创建一个将请求代理到 httpbin.org 的服务:
- Dashboard
- Admin API
- ADC
-
在控制台侧边栏中进入默认网关组,然后点击 Services。
-
点击 Add Service,再点击 Add Manually。
-
配置服务:
字段 值 名称 httpbin服务类型 HTTP (Layer 7 Proxy)上游协议 HTTP如何查找上游 Use Nodes -
点击 Add Node,并进行如下配置:
字段 值 主机 httpbin.org端口 80权重 100 -
点击 Add 创建服务。
-
点击
httpbin服务,然后点击 Add Route。 -
配置路由:
字段 值 名称 get-anything路径 /anything/*方法 GET -
点击 Add。
# 创建包含上游的服务
curl -k "https://localhost:7443/apisix/admin/services/httpbin?gateway_group_id={gateway_group_id}" -X PUT \
-H "X-API-KEY: ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "httpbin",
"upstream": {
"type": "roundrobin",
"scheme": "http",
"nodes": [
{ "host": "httpbin.org", "port": 80, "weight": 100 }
]
}
}'
# 在该服务下创建路由
curl -k "https://localhost:7443/apisix/admin/routes/get-anything?gateway_group_id={gateway_group_id}" -X PUT \
-H "X-API-KEY: ${API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "get-anything",
"service_id": "httpbin",
"paths": ["/anything/*"],
"methods": ["GET"]
}'
如果不是在本地运行,请将 localhost 替换为你的 Admin API 主机。若 Admin API 使用自签名 TLS 证书,则必须使用 -k 标志。将 {gateway_group_id} 替换为网关组 ID:对于快速开始创建的网关组,请使用 default;也可从控制台的 Gateway Groups 页面复制该 ID。
首先,安装 ADC:
curl -sL "https://run.api7.ai/adc/install" | bash
使用 ADC 前,请将其配置为连接 API7 网关:
- 从控制台创建令牌。请使用非 root 用户登录,并在控制台中创建令牌。
- 在工作目录中创建
.env文件:
ADC_BACKEND=api7ee
ADC_SERVER=https://localhost:7443
ADC_TOKEN=a7ee-xxxxxxxxxxxxx # 替换为你创建的 Token
ADC_GATEWAY_GROUP=default
- 验证连通性:
adc ping
你应看到:Connected to the "api7ee" backend successfully!
- 创建配置文件:
services:
- name: httpbin
upstream:
name: default
scheme: http
nodes:
- host: httpbin.org
port: 80
weight: 100
routes:
- uris:
- /anything/*
name: get-anything
methods:
- GET
- 将配置同步到 API7 网关:
adc sync -f adc.yaml
第 4 步:验证代理
通过网关发送请求:
curl "http://127.0.0.1:9080/anything/hello"
预期响应:
{
"args": {},
"headers": {
"Host": "127.0.0.1",
"User-Agent": "curl/8.x.x"
},
"method": "GET",
"url": "http://127.0.0.1/anything/hello"
}
返回 200 OK 表示 API7 网关已成功将请求代理到上游httpbin.org 服务。
停止 API7 网关
要停止所有服务,请进入快速入门脚本创建的 api7-ee 目录并运行:
bash run.sh stop
后续步骤
- 教程:通过插件代理和管理 API 请求:为 API 添加认证和限流。
- 深入了解 API7 产品和 APISIX:了解 API7 产品与开源 APISIX 生态系统之间的关系。
- 在 Kubernetes 上部署:在生产 Kubernetes 环境中设置 API7 网关。