跳到主要内容

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:

{
"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 以便审计和回滚。