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

如何使用Fargate创建AWS EKS Kubernetes集群及解决部署回滚问题

报错原因解析

你碰到的回滚报错核心来自VPC子网配置的缺失:

  • 报错本身指向eksctl在创建集群关联资源时,需要从当前集群的CloudFormation栈中获取名为eksctl-<集群名>-cluster::SubnetsPublic的公网子网导出值,但你的配置里只声明了私有子网,完全没有定义公网子网的相关条目,导致eksctl找不到对应的导出参数,触发资源创建失败,进而走回滚流程,最终栈状态停留在ROLLBACK_COMPLETE。
  • 哪怕你计划所有工作负载都跑在私有子网的Fargate上,只要你选择了复用自定义VPC的模式,就必须把VPC内所有子网的分类(公网/私有)完整告知eksctl,否则它会按照默认的资源生成逻辑去查找公网子网的配置,必然会触发导出值不存在的报错。
修正后的可参考Fargate基础集群配置

你可以按照下面的结构调整原有配置,避开上述报错:

  • 补全VPC块的公网子网声明,如果你的全私网VPC本身没有公网子网,需要显式添加nat: none字段告知eksctl跳过公网子网的依赖检查
  • 升级EKS版本到当前eksctl支持的稳定版本,避免1.19这类已停止维护的旧版本带来的兼容问题
  • 如果不需要EC2节点组,可直接移除nodeGroups配置块,搭建纯Fargate架构的轻量化集群

调整后的参考配置:

apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: test-kb-cluster-w-fg-profile
  region: us-west-2
  version: "1.27"

vpc:
  # 填入你复用的现有VPC ID
  id: vpc-<你的VPC ID>
  # 若VPC无任何公网子网,打开下面的配置跳过公网依赖
  # nat: none
  subnets:
    # 补全现有VPC内的公网子网条目
    public:
      us-west-2a: { id: subnet-<对应可用区公网子网ID> }
      us-west-2b: { id: subnet-<对应可用区公网子网ID> }
      us-west-2c: { id: subnet-<对应可用区公网子网ID> }
    private:
      us-west-2a: { id: subnet-<对应可用区私有子网ID> }
      us-west-2b: { id: subnet-<对应可用区私有子网ID> }
      us-west-2c: { id: subnet-<对应可用区私有子网ID> }

# 若不需要EC2节点组,可删除/注释下方nodeGroups块
# nodeGroups:
#   - name: test-eks-linux-nodes 
#     instanceType: t2.micro
#     desiredCapacity: 1

fargateProfiles:
  - name: test-fp-default
    selectors:
      - namespace: default
      - namespace: kube-system
回滚后的操作注意事项

之前创建失败、停留在ROLLBACK_COMPLETE状态的CloudFormation栈会残留部分已创建的资源,不会自动完全清理,你需要先在CloudFormation控制台手动删除这个处于回滚完成状态的栈,再重新运行集群创建命令,否则会因为资源重名、权限关联残留出现新的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 16:24:06