子网设置 - Eksctl 用户指南

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

子网设置

使用私有子网作为初始节点组

如果您希望将初始节点组与公共互联网隔离开来,则可以使用标志。--node-private-networking--ssh-access标志一起使用时,只能从 VPC 内部访问 SSH 端口。

注意

使用该--node-private-networking标志将导致传出流量使用其弹性 IP 通过 NAT 网关。另一方面,如果节点位于公有子网中,则传出流量将不会通过 NAT 网关,因此传出流量具有每个节点的 IP。

自定义子网拓扑

eksctl版本0.32.0引入了进一步的子网拓扑定制,可以:

  • 在 VPC 配置中列出每个可用区的多个子网

  • 在节点组配置中指定子网

在早期版本中,自定义子网必须由可用区提供,这意味着每个可用区只能列出一个子网。从0.32.0识别密钥可以是任意的。

vpc: id: "vpc-11111" subnets: public: public-one: # arbitrary key id: "subnet-0153e560b3129a696" public-two: id: "subnet-0cc9c5aebe75083fd" us-west-2b: # or list by AZ id: "subnet-018fa0176ba320e45" private: private-one: id: "subnet-0153e560b3129a696" private-two: id: "subnet-0cc9c5aebe75083fd"
重要

如果使用 AZ 作为标识密钥,则可以省略该az值。

如果像上面那样使用任意字符串作为标识键,则可以:

  • id必须设置(azcidr可选)

  • az必须设置(cidr可选)

如果用户在未指定 CIDR 和 ID 的情况下按可用区指定子网,则如果存在多个此类子网,则将从 VPC 中选择该可用区中的子网。

注意

必须提供完整的子网规范,即同时提供两者public以及在 VPC 规范中声明的private配置。

通过配置,可以将节点组限制为命名子网。在节点组配置上指定子网时,请使用 VPC 规范中给出的标识密钥而不是子网 ID。例如:

vpc: id: "vpc-11111" subnets: public: public-one: id: "subnet-0153e560b3129a696" ... # subnet spec continued nodeGroups: - name: ng-1 instanceType: m5.xlarge desiredCapacity: 2 subnets: - public-one
注意

节点组配置中availabilityZones只能提供subnets或中的一个。

在私有子网中放置节点组时,privateNetworking必须将节点组设置为true

vpc: id: "vpc-11111" subnets: public: private-one: id: "subnet-0153e560b3129a696" ... # subnet spec continued nodeGroups: - name: ng-1 instanceType: m5.xlarge desiredCapacity: 2 privateNetworking: true subnets: - private-one

有关完整的配置示例,请参阅 eksctl 存储库中的 24-nodegroup-subnets.yaml。 GitHub