对于 GKE Kubernetes 集群 w/Alias,自定义辅助范围名称默认为什么?

For a GKE Kubernetes Cluster w/Alias what will a custom Secondary Range Name default to?

我是 运行 多个 GKE 集群 Google 云后面的多集群入口,其设置需要一些修补。

话虽如此,当我整理好它时,我已经用完了我的 5 个子网,特别是在 us-east1 区域。我不需要超过 5 个,但是... 显然删除集群不会同时删除用它创建的子网.

因此 — 我需要手动删除未使用的子网,为此我需要知道子网名称。

我的问题是我在 GCP 的文档中找不到任何描述使用新 GKE 集群创建后子网名称的地方(未指定子网名称)。

What would the Subnet Name be with the following Create Cluster command (for example):

gcloud container clusters create example-cluster --num-nodes=1 --region us-east1-c \
  --machine-type g1-small \
  --enable-ip-alias --cluster-ipv4-cidr=10.2.0.0/21 \
  --services-ipv4-cidr=10.6.0.0/19

以下 gcloud 子网文档 (https://cloud.google.com/vpc/docs/configure-alias-ip-ranges) 描述了如何列出子网 — 但在 运行 上: gcloud compute networks list 我只得到默认响应:

NAME     SUBNET_MODE  BGP_ROUTING_MODE  IPV4_RANGE  
default  AUTO         REGIONAL

我知道在此区域内创建了多个子网,因为尝试创建另一个子网(使用新集群)时出现以下错误:

'Retry budget exhausted (5 attempts): Google Compute Engine: Exceeded maximum supported number of secondary ranges per subnetwork: 5.' 结束时间:u'2019-01-10T22:16:14.496871616Z'

I am open to additional solutions that allow me to properly list all subnets in a region BUT my question is how does GKE name a Subnet that is created without a name?

OK. No sooner do I give up and post the question than I find out there is a gcloud beta feature that can list container network subnets:

gcloud beta container subnets list-usable

您可以在这里找到完整的文档: https://cloud.google.com/sdk/gcloud/reference/beta/container/subnets/list-usable

基本上,根据问题中规定的集群创建命令,GKE 将创建两个次要范围,一个用于 Pods,另一个用于看起来像这样的服务:

┌───────────────────────────────────────┬───────────────┬──────────┐
│          SECONDARY_RANGE_NAME         │ IP_CIDR_RANGE │  STATUS  │
├───────────────────────────────────────┼───────────────┼──────────┤
│ gke-example-cluster-pods-241ef819     │ 10.0.0.0/21   │ unusable │
│ gke-example-cluster-services-241ef819 │ 10.4.0.0/19   │ unusable │

我不确定次要范围名称末尾标记的字符是什么,但我认为它们是为每个集群唯一生成的,因为它们在我的多区域集群中都是不同的。

One odd thing that I found out based on the above command is that you can only have two Clusters that are routable using VPC Native networking in each region.

虽然这确实适用于我的用例(而且我同意它应该适用于大多数情况),但我只是觉得它很有趣。另外,使用上面的命令我看到使用 GKE 创建的范围在集群删除时被删除但是每个网络最多只能有 5 个子网范围(在本例中为默认值)。

我猜你可以创建一个额外的子网,然后在其中有额外的次要范围——但我现在还没有尝试过。