跳到主要内容
版本:Latest(v3.0) 🔥

API Gateway Creation

概述

创建 API 网关是通过 APIM 系统公开和管理 API 的第一步。在像 APIM 的基础设施这样的真实生产环境中,网关设置必须考虑扩展性、流量分配、日志转发和 DNS 映射。本教程将指导您通过一个示例案例创建一个生产级网关。

先决条件

在开始之前,请确保以下内容:

  • 您有 Administrator 访问 APIM 控制台的权限。
  • 已创建一个 Project (例如,pj-test-01)。

分步教程

第 1 步. 访问网关创建页面

  • 登录 APIM 控制台。
  • 选择项目:pj-test-01。
  • 导航到网关管理。
  • 点击创建网关按钮。

第 2 步. 网关信息

FieldValue
网关类型kong
网关名称gateway-prod-mj
网关实例名称自动填充为 gateway-prod-mj
描述用于测试网关创建过程的网关
标签test, kr (可以添加更多标签以对网关进行分类)

第 3 步. 资源配置

网关 Pod 资源

ResourceValue
CPU1000m
内存1000Mi

数据库资源

ResourceValue
CPU1000m
内存1000Mi

使用滑块更改值

第 4 步. 部署设置

字段
网关自动扩展已启用(切换开启)
最小副本数:1
最大副本数:5
CPU:50
内存:50
可以输入或使用滑块更改值
Kong 命名空间mj-test
Kong 存储类gp2
存储容量5 Gi
Kong 代理服务类型LoadBalancer
Kong 代理服务 NodePort30001

第 5 步. 亲和性设置

启用亲和性并进行配置:

KeyValue
topology.kubernetes.io/zoneap-northeast-2

这确保网关 Pod 仅在特定可用区中调度。

第 6 步. 容忍设置

启用容忍并添加:

OperatorKeyValue
等于spottrue
存在critical

这允许网关 Pod 被调度到具有污点的节点,例如 spot=true 或 critical。

第 7 步. 拓扑分布配置

字段
最大偏差1
当不可满足时不调度

确保网关 Pod 在各个区域均匀分布,避免不可满足的调度。

第 8 步. 系统附加组件

组件设置
内部 Redis已启用
Fluent Bit已启用
OpenTelemetry: 已启用
Elasticsearch: 已禁用

启用 Fluent Bit 有助于在您的可观察性管道中集中网关日志。

第 9 步. Kong 配置

输入以下 JSON:

{
```json
"upstream_keepalive_idle_timeout": 60,
"upstream_keepalive_max_requests": 100000,
"nginx_http_keepalive_requests": 100000,
"upstream_keepalive_pool_size": 1024
}

这些值优化了上游连接的重用,并有助于高性能环境。

第10步. 创建网关

  • 点击底部的创建网关按钮。

  • 前往网关详细页面并验证创建的网关。

最佳实践

  • 在名称中使用环境后缀:gateway-dev,gateway-staging,gateway-prod。
  • 为每个环境定义专用命名空间,以实现资源的清晰分离。
  • 除非有基于指标的触发器,否则保持自动扩展关闭。
  • 一起使用亲和性和拓扑分布以实现高可用性。
  • 记录并版本化您的Kong配置JSON,以便审计和回滚。