gpt4 book ai didi

networking - 无法使用自定义网络启动 GKE(Google Container Engine)集群

转载 作者:行者123 更新时间:2023-12-03 23:29:35 26 4
gpt4 key购买 nike

我正在尝试使用“自定义”类型网络而不是“自动”类型网络启动 GKE 集群。

我使用以下命令启动我的集群:

$ gcloud container clusters create --cluster-ipv4-cidr=10.0.0.0/14 --network=ttest --subnetwork=ttest --num-nodes=1 jt

我收到以下错误:
Creating cluster jt...done.
ERROR: (gcloud.container.clusters.create) Operation [<Operation
name: u'operation-1467037655793-e319dc5e'
operationType: OperationTypeValueValuesEnum(CREATE_CLUSTER, 1)
selfLink: u'https://container.googleapis.com/v1/projects/TRUNCATED/zones/us-east1-b/operations/operation-1467037655793-e319dc5e'
status: StatusValueValuesEnum(DONE, 3)
statusMessage: u'Requested CIDR 10.0.0.0/14 is not available in network "ttest".'
targetLink: u'https://container.googleapis.com/v1/projects/TRUNCATED/zones/us-east1-b/clusters/jt'
zone: u'us-east1-b'>] finished with error: Requested CIDR 10.0.0.0/14 is not available in network "ttest".

它似乎想要一个带有 /14 的网络或子网地址范围,因此该命令理想情况下应该可以工作,但事实并非如此。

这很奇怪,因为这是我的网络的样子:

测试网络:
$ gcloud compute networks describe ttest

autoCreateSubnetworks: false
creationTimestamp: '2016-06-27T07:25:03.691-07:00'
id: '5404409453117999568'
kind: compute#network
name: ttest
selfLink: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/ttest
subnetworks:
- https://www.googleapis.com/compute/v1/projects/myproject/regions/us-east1/subnetworks/ttest
x_gcloud_mode: custom

ttest 子网:
$ gcloud compute networks subnets describe ttest

creationTimestamp: '2016-06-27T07:25:21.649-07:00'
gatewayAddress: 10.0.0.1
id: '6237639993374575038'
ipCidrRange: 10.0.0.0/14
kind: compute#subnetwork
name: ttest
network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/ttest
region: https://www.googleapis.com/compute/v1/projects/myproject/regions/us-east1
selfLink: https://www.googleapis.com/compute/v1/projects/myproject/regions/us-east1/subnetworks/ttest

我用 --range=10.0.0.0/8 用手动创建的旧网络尝试了同样的事情。然后尝试在该网络中创建一个集群,这似乎也不起作用。

似乎/14 规则被硬编码到 GKE 配置的某个地方,但我真的不知道它想要在自定义网络中启动容器。

GKE 容器启动命令适用于模式/类型为 "auto". 的任何网络

我仔细研究了与我相关的任何文档,但运气不佳。唯一从 this page 中突出显示以下片段的:

The following restrictions exist when using subnetworks with other products:

  • Google Managed VMs: Supported only on auto subnetwork networks. Cannot be deployed in a custom subnet networks.


GKE 是否在后台使用托管虚拟机?这是导致问题的原因吗?

最佳答案

GKE 确实支持自定义子网网络。您遇到的问题是 GKE 强制执行 cluster-ipv4-cidr range 与虚拟机可能从其中分配 IP 的所有子网不相交,因为这会导致数据包应在内部网络上路由的位置不明确。
cluster-ipv4-cidr确定哪些 CIDR 范围应该用于集群中的容器,而使用的子网确定哪些 IP 地址用于在该网络中创建的所有 VM。

要解决此问题,只需停止指定 --cluster-ipv4-cidr在您的 gcloud 命令中标记。然后 GKE 会选择一个保险箱 cluster-ipv4-cidr范围为你。

关于networking - 无法使用自定义网络启动 GKE(Google Container Engine)集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057066/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com