使用CLI创建无NAT网关的EKS私有集群并添加2个托管节点组
创建无NAT网关的EKS私有集群及托管节点组
1. 编写eksctl配置文件
直接用配置文件定义集群和节点组比命令行参数更清晰,新建一个eks-private-cluster.yaml文件,内容如下:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-private-eks-cluster region: ap-southeast-1 # 替换成你的目标区域 vpc: privateNetworking: true # 启用私有集群,仅私有子网可访问控制平面 nat: gateway: enabled: false # 禁用NAT网关 managedNodeGroups: - name: private-node-group-1 instanceType: t3.medium desiredCapacity: 2 privateNetworking: true # 节点仅部署在私有子网 - name: private-node-group-2 instanceType: t3.small desiredCapacity: 3 privateNetworking: true # 节点仅部署在私有子网
关键配置说明:
privateNetworking: true:让集群控制平面只暴露在私有子网,同时节点也仅部署在私有子网nat.gateway.enabled: false:彻底禁用NAT网关,节点无法访问公网,仅能访问AWS内部服务和VPC内资源- 两个托管节点组分别定义了实例类型和节点数量,自动关联集群的私有子网
2. 执行集群创建命令
在终端运行以下命令,eksctl会自动处理集群和节点组的创建:
eksctl create cluster -f eks-private-cluster.yaml
3. 验证集群和节点组状态
创建完成后,用以下命令确认状态:
- 查看集群:
eksctl get cluster --name my-private-eks-cluster
- 查看节点组:
eksctl get nodegroups --cluster my-private-eks-cluster
注意事项
因为没有NAT网关,节点无法访问公网,需提前做好这些准备:
- 容器镜像必须存储在AWS ECR(可通过VPC端点访问)或者VPC内部的私有镜像仓库
- 如果需要访问S3、CloudWatch等AWS服务,需在VPC中配置对应的VPC端点
- 要访问集群控制平面,必须通过VPC内的EC2实例、VPN连接或者AWS Direct Connect进入私有网络
内容的提问来源于stack exchange,提问作者Văn Hoàng Kha
相关产品推荐
相关产品推荐

