You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS EKS自动模式集群中Kubernetes Gateway API部署问题求助

自动模式EKS集群启用Gateway API的解决方案

我之前在自动模式的EKS集群里成功启用过Gateway API,正好遇到过你说的这个IMDS访问问题,给你说下具体解决步骤:

  • 调整节点的IMDS跳数限制
    自动模式EKS的节点默认把http-put-response-hop-limit设为1,Pod里的控制器跨hop访问IMDS会被拦截,必须改成2:

    1. 先找到集群节点组对应的Launch Template ID:
      aws eks describe-nodegroup --cluster-name <你的集群名称> --nodegroup-name <节点组名称> --query 'nodegroup.launchTemplate.id' --output text
      
    2. 更新这个Launch Template的元数据配置:
      aws ec2 create-launch-template-version --launch-template-id <上面拿到的ID> --source-version '$Latest' --version-description "update imds hop limit" --launch-template-data '{"MetadataOptions": {"HttpPutResponseHopLimit": 2, "HttpTokens": "required"}}'
      
    3. 滚动更新节点组,让新配置覆盖旧节点:
      aws eks update-nodegroup-version --cluster-name <你的集群名称> --nodegroup-name <节点组名称> --launch-template version='$Latest'
      
  • 验证配置是否生效
    进入Gateway API控制器的Pod,测试能不能拉取VPC ID:

    kubectl exec -n <控制器所在命名空间> <控制器Pod名称> -- curl http://169.254.169.254/latest/meta-data/network/interfaces/macs/$(curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/)/vpc-id
    

    如果能正常返回VPC ID,说明IMDS访问已经打通。

  • 确认控制器正常运行
    检查Pod状态和日志,确认没有再出现无法检测VPC ID、集群名称的报错:

    kubectl get pods -n <控制器所在命名空间>
    kubectl logs -n <控制器所在命名空间> <控制器Pod名称>
    

调整完之后,Gateway API控制器就能正常启动,后续创建Gateway、HTTPRoute这些资源都能正常工作。

内容的提问来源于stack exchange,提问作者Batato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 20:03:14