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

手动创建EKS集群使用eksctl创建Windows节点组报错咨询

EKS手动集群纳入eksctl管理及Windows节点组部署解决方案

问题1:手动创建的EKS集群如何纳入eksctl管理范围

  • 首先确认本地已经配置好对应区域的AWS凭证,执行aws eks update-kubeconfig --name <你的集群名称> --region <集群所属区域>获取集群访问权限,确保可正常执行kubectl操作
  • 收集现有手动集群的核心配置参数:集群K8s版本、VPC ID、控制平面安全组ID、所有关联的公网/私有子网ID、集群IAM角色ARN
  • 编写匹配集群参数的eksctl配置YAML,核心结构参考如下:
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
  name: testEnv-cluster
  region: <你的区域>
  version: "<你的K8s版本>"
vpc:
  id: <VPC ID>
  subnets:
    private:
      <私有子网1可用区>:
        id: <私有子网1 ID>
      <私有子网2可用区>:
        id: <私有子网2 ID>
    public:
      <公网子网1可用区>:
        id: <公网子网1 ID>
  securityGroup: <控制平面安全组ID>
iam:
  serviceRoleARN: <集群IAM角色ARN>
  • 执行命令eksctl create cluster -f <上述配置文件路径> --skip-existing,该命令会跳过集群创建步骤,自动补全eksctl管理集群所需的标签、CloudFormation栈记录,执行完成后即可通过eksctl正常管理该集群

问题2:在已有集群下创建Windows实例对应节点组

先决条件

  • 集群已经存在至少1个Linux工作节点,用于运行CoreDNS、VPC-CNI等集群核心组件
  • 集群K8s版本不低于1.14

操作步骤

  • 首先部署VPC CNI的Windows支持组件,确保Windows节点可以正常分配IP地址
  • 编写Windows节点组的eksctl配置,可直接追加到上述集群配置文件中,示例配置参考如下:
nodeGroups:
  - name: windows-ng
    amiFamily: WindowsServer2022Core # 可选WindowsServer2019Full、WindowsServer2019Core等版本
    instanceType: t3.large # 最低要求2核4G配置
    minSize: 1
    maxSize: 3
    desiredCapacity: 2
    volumeSize: 50
    ssh:
      allow: true
      publicKeyName: <你的SSH密钥对名称>
    subnets: <你要部署Windows节点的子网ID列表>
  • 执行命令eksctl create nodegroup -f <配置文件路径> --approve,等待节点组创建完成
  • 验证节点加入:执行kubectl get nodes -l kubernetes.io/os=windows,能看到状态为Ready的Windows节点即为部署成功

问题3:为Windows节点组创建对应的CloudFormation栈

两种实现方式可选:

  • eksctl自动创建:执行上述eksctl create nodegroup命令时,eksctl会自动生成符合规范的CloudFormation模板并创建对应栈,无需手动操作,栈名默认格式为eksctl-<集群名>-nodegroup-<节点组名>
  • 手动创建:如果需要自行管控CloudFormation栈,可使用AWS官方提供的EKS Windows工作节点模板,填入以下必填参数后直接创建即可:
    • 集群名称
    • 集群API服务器端点地址
    • 集群CA证书内容
    • 节点实例类型
    • 节点AMI ID(可查询对应区域、对应Windows版本的EKS优化AMI ID)
    • 子网ID列表
    • 节点安全组ID
    • SSH密钥对名称
    • 节点IAM角色ARN
      可通过AWS CloudFormation控制台操作,也可使用AWS CLI执行创建命令:
    aws cloudformation create-stack --stack-name <自定义Windows节点栈名称> --template-body file://<本地模板文件路径> --parameters ParameterKey=ClusterName,ParameterValue=<集群名> ParameterKey=ClusterAPIEndpoint,ParameterValue=<API端点> ... --capabilities CAPABILITY_NAMED_IAM
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 07:42:03