本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
子网设置
使用私有子网作为初始节点组
如果您希望将初始节点组与公共互联网隔离开来,则可以使用标志。--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必须设置(az且cidr可选) -
或
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