自定义子网 - Eksctl 用户指南

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

自定义子网

可以使用新子网扩展现有 VPC,然后向该子网添加节点组。

为什么

如果集群用完了预先配置的集群 IPs,则可以使用新的 CIDR 调整现有 VPC 的大小,以便向其添加新的子网。要了解如何做到这一点,请阅读 AWS Extending 上的这指南 VPCs。

TL; DR

转到 VPC 的配置并添加,单击 “操作”-> “编辑”, CIDRs 然后添加一个新范围。例如:

192.168.0.0/19 -> existing CIDR + 192.169.0.0/19 -> new CIDR

现在你需要添加一个新的子网。根据它是新的私有子网还是公有子网,您必须分别从私有子网或公有子网复制路由信息。

创建子网后,添加路由,然后从 VPC 中的另一个子网复制 NAT 网关 ID 或 Internet Gateway。请注意,如果它是公有子网,请启用自动 IP 分配。操作->修改自动分配 IP 设置->启用自动分配公共地址。 IPv4

别忘了根据公有或私有子网的配置复制现有子网的标签。这一点很重要,否则子网将不是集群的一部分,子网中的实例将无法加入。

完成后,复制新子网的 ID。根据需要经常重复。

操作方法

要在创建的子网中创建节点组,请运行以下命令:

eksctl create nodegroup --cluster <cluster-name> --name my-new-subnet --subnet-ids subnet-0edeb3a04bec27141,subnet-0edeb3a04bec27142,subnet-0edeb3a04bec27143 # or for a single subnet id eksctl create nodegroup --cluster <cluster-name> --name my-new-subnet --subnet-ids subnet-0edeb3a04bec27141

或者,使用这样的配置:

eksctl create nodegroup -f cluster-managed.yaml

使用这样的配置:

# A simple example of ClusterConfig object with two nodegroups: --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: cluster-3 region: eu-north-1 nodeGroups: - name: new-subnet-nodegroup instanceType: m5.large desiredCapacity: 1 subnets: - subnet-id1 - subnet-id2

等待节点组创建,新实例应具有子网的新 IP 范围。

删除集群

由于新增内容通过在 CloudFormation 堆栈之外添加依赖项来修改现有 VPC,因此 CloudFormation无法再移除集群。

在删除集群之前,请手动移除所有已创建的额外子网,然后调用eksctl以下命令继续:

eksctl delete cluster -n <cluster-name> --wait