常见使用场景
Ingress Controller 允许你配置底层网关支持的全部插件,覆盖 AI 集成、流量管理、请求转换、身份认证、安全、可观测性等常见场景。
- API7 Ingress Controller:支持配置 API7 企业版中可用的全部插件。
- APISIX Ingress Controller:支持配置 APISIX 中可用的全部插件。
如果你已经熟悉 APISIX 或 API7 企业版插件,相关概念保持一致。如果刚接触这一生态,建议先查看插件中心,了解可用插件以及它们提供的能力。
本文介绍常见使用场景、可使用的插件,以及如何通过 Ingress Controller 配置这些插件。
如何在 AIC 中配置插件
本文提供概览,不展开每个插件的完整配置细节。常见插件配置模式可参考以下示例和 CRD 文档:
如需查看插件的详细参数和用法,请访问插件中心。
限流
限流是管理 API 流量的常用技术。你可以为 API 配置请求速率或连接数限制,以保障公平使用,并防御 DDoS 或过量爬虫流量等攻击。
可使用以下插件实现限流:
limit-count:使用固定窗口算法,限制非重叠时间窗口内的请求数量。limit-count-advanced:基于limit-count增强,支持使用滑动窗口算法在重叠时间窗口内执行请求限制。该插件仅在 API7 企业版中可用。limit-req:按指定时间间隔内的请求数量和容量限制请求。limit-conn:按并发连接数限制请求。graphql-limit-count:按指定时间间隔内 GraphQL 操作或 mutation 的深度限制请求。该插件仅在 API7 企业版中可用。
身份认证
身份认证是在允许访问 API 前验证客户端身份的过程。它可确保只有授权用户或应用能够访问你的服务,从而保护敏感数据并防止未授权访问。
可使用以下身份认证插件保护 API:
key-auth:使用简单的 API key 验证访问。basic-auth:使用用户名和密码对客户端进行身份认证。jwt-auth:验证 JSON Web Token(JWT),实现无状态身份认证。hmac-auth:使用 HMAC 签名认证请求,以确保完整性并验证客户端身份。- 更多身份认证插件。
请求与响应转换
请求与响应转换允许你在请求发送到上游服务前修改入站请求,也可以在响应返回客户端前修改响应。常见操作包括重写路径、添加或删除请求头、调整查询参数,或修改请求体和响应体。转换能力可帮助 API 与不同客户端需求或上游服务预期保持兼容。
可使用以下插件实现转换:
proxy-rewrite:重写请求路径、host 或请求头。response-rewrite:修改响应状态码、响应头或响应体。mocking:在不转发到上游服务的情况下模拟 API 响应。- 更多转换插件。
这些插件可以在不修改上游服务的情况下适配请求和响应,使 API 集成更灵活、更易维护。