ingress2gateway-aws-mcp
Checks ACM certificate prerequisites for TLS hostnames during the migration process.
Provides tools for migrating Nginx Ingress to AWS Gateway API (ALB/NLB), including conversion, validation, and generation of migration reports.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@ingress2gateway-aws-mcpconvert the ingress file to AWS Gateway API YAML"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ingress2gateway-aws-mcp
MCP Server:将 Nginx Ingress 转换为 AWS Gateway API(ALB / NLB)资源的对话式迁移工具。
背景
Ingress-NGINX 已于 2026 年 3 月退役,AWS Load Balancer Controller v2.14+ 正式支持 Kubernetes Gateway API。本工具封装社区官方转换器 ingress2gateway,在其基础上叠加 AWS 专属后处理,提供对话式迁移体验。
Related MCP server: ARC Config MCP Server
工具列表
工具 | 功能 |
| 检查 LBC 版本、Gateway API CRD、feature gate、ACM 证书 |
| 分析 Nginx Ingress 注解分布、路由类型、成本预估 |
| 完整转换管道 → 生成可 |
| 输出 Markdown 迁移报告(成本/DNS/健康检查/Checklist) |
| 离线校验生成的 Gateway API YAML |
安装
方式一:本地 pip
pip install .需要 Python 3.11+。可选:安装 ingress2gateway Go 二进制以获得官方转换器覆盖;AWS LBC 不支持的能力仍会由本工具报告为 warning/error(不安装时自动使用内置转换器):
go install github.com/kubernetes-sigs/ingress2gateway@v1.1.0方式二:Docker
docker build -t ingress2gateway-aws-mcp .
docker run --rm -i ingress2gateway-aws-mcp连接到 AI 客户端
Kiro
Kiro CLI:
kiro-cli mcp add --name ingress2gateway-aws-mcp \
--scope global \
--command python3 \
--args "/path/to/ingress2gateway-aws-mcp/src/server.py"Kiro IDE(工作区:.kiro/settings/mcp.json,全局:~/.kiro/settings/mcp.json):
{
"mcpServers": {
"ingress2gateway-aws-mcp": {
"command": "python3",
"args": ["/path/to/ingress2gateway-aws-mcp/src/server.py"]
}
}
}Kiro IDE 支持热重载,修改 mcp.json 后无需重启,下次空闲时自动生效。
Claude
Claude Code CLI:
claude mcp add ingress2gateway-aws-mcp python3 /path/to/ingress2gateway-aws-mcp/src/server.pyClaude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ingress2gateway-aws-mcp": {
"command": "python3",
"args": ["/path/to/ingress2gateway-aws-mcp/src/server.py"]
}
}
}EKS 集群前置要求
目标集群必须满足以下条件,生成的 YAML 才能成功 apply:
项目 | 要求 |
AWS LBC 版本 | ≥ v2.14.0(L7)/ ≥ v2.13.3(L4) |
LBC feature gate |
|
Gateway API standard channel | v1.5.0+(HTTPRoute / GRPCRoute / ReferenceGrant) |
Gateway API experimental channel | 仅当有 TCP/UDP/TLSRoute 或 BackendTLSPolicy 时需要 |
AWS 定制 CRD |
|
ACM 证书 | 每个 TLS hostname 在同 Region 有对应证书 |
Subnet 标签 |
|
快速搭建满足上述条件的集群,参见 infra/cluster.yaml。
使用示例
你:帮我分析一下这个 Ingress 文件
<粘贴 ingress.yaml 内容>
AI 调用 analyze_ingress →
返回注解兼容性报告、路由类型分布、成本预估
你:转换成 Gateway API YAML
AI 调用 convert_to_gateway_api → 返回可直接 apply 的 YAML
你:生成完整迁移报告
AI 调用 generate_migration_report → 返回 Markdown 报告示例输入文件见 examples/input/,对应转换结果见 examples/output/。
项目结构
转换管道概览
Ingress YAML
│
▼ converter.run() ← ingress2gateway 二进制 / 内置 Python 转换器
│
▼ gateway.inject() ← 注入 aws-alb / aws-nlb GatewayClass
▼ gateway.fix_tls() ← 移除 certificateRefs,改 hostname → ACM 自动发现
▼ gateway.split() ← L4/L7 强制分离,重写 parentRefs
▼ gateway.merge() ← 按策略合并 Gateway,控制 ALB/NLB 数量
│
▼ crd.generate_for_resources() ← LoadBalancerConfiguration(每个 Gateway)
▼ crd.generate_for_routes() ← TargetGroupConfiguration(每个 Service / 健康检查 / stickiness)
▼ crd.generate_for_ingresses() ← ListenerRuleConfiguration(OIDC / 源 IP)
▼ crd.attach_listener_rule_configs() ← 通过 HTTPRoute ExtensionRef 绑定认证 / 源 IP 条件
│
▼ 可 kubectl apply 的 Gateway API YAML文档
文档 | 内容 |
模块职责、转换管道数据流、AWS 资源模型、关键设计决策 | |
Nginx 注解兼容性速查表(auto / partial / warning / error 分类) | |
部署手册(本地/Docker/Kiro+Claude 接入、EKS 前置条件)+ 故障排查 |
开发
pip install -e ".[dev]"
pytest tests/ -vLicense
MIT
免责声明
本项目仅供学习与技术参考,不构成生产部署方案。使用本工具生成的 Gateway API YAML 在 apply 到集群前,请结合实际业务进行安全评估与调整。部署过程中会在 AWS 上创建 EKS 集群、ALB/NLB 及相关资源并产生费用,请在实验结束后及时清理。作者不对因使用本项目产生的任何费用或损失承担责任。本项目与 Amazon Web Services 及 Kubernetes SIGs 无官方关联,相关服务的可用性与定价以各方官方文档为准。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/toreydai/ingress2gateway-aws-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server