3

Я пытаюсь запустить кластер GKE с сетью типа «пользовательский», а также с сетью типа «авто».Невозможно запустить кластер GKE (Google Container Engine) с настраиваемой сетью

Я использую следующую команду, чтобы запустить свой кластер:

$ 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 

ТТЕСТ подсеть:

$ 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 использовать управляемые виртуальные машины под капотом? Это то, что вызывает проблему?

ответ

4

GKE поддерживает собственные сети подсети. Проблема, с которой вы сталкиваетесь, заключается в том, что GKE обеспечивает, чтобы диапазон cluster-ipv4-cidr не пересекался со всеми подсетями, из которых выделены виртуальные машины, потому что это приведет к двусмысленности в том, где пакеты должны быть маршрутизированы во внутренней сети.

cluster-ipv4-cidr определяет, какие диапазоны CIDR следует использовать для контейнеров в кластере, а используемая подсеть определяет, какие IP-адреса используются для всех виртуальных машин, созданных в этой сети.

Чтобы устранить проблему, просто прекратите указывать флаг --cluster-ipv4-cidr в вашей команде gcloud. Затем GKE выберет для вас безопасный диапазон cluster-ipv4-cidr.

+0

Привет, Алекс, я пробовал это, и он работает со свежей сетью, которую я создал (как показано выше), но она не работает с другой сетью, которую у меня есть, я получаю ту же ошибку (когда я не указываю CIDR), любая идея, что еще может пойти не так? – ffledgling

+1

Возможно, что в другой сети недостаточно свободного места для размещения/14. Это может быть связано с тем, что подсети заполняют пространство 10.0.0.0/8 или передовые маршруты, используя все пространство. Какое точное сообщение об ошибке вы видите? –

+0

@CJCullen Точное сообщение об ошибке, которое я видел, было «Сеть« mynetwork »не имеет доступного частного IP-пространства в 10.0.0.0/8, чтобы зарезервировать блок для этого кластера». Я выяснил ответ в конце прошлой ночи, VPN для этой сети был настроен с «Удаленные сетевые диапазоны IP» как «0.0.0.0/0» в одной точке, а затем с «10.0.0.0/8» на другой, GKE вероятно, смотрит на это (я не знаю, как), и выясняет, что у него нет собственного пространства и жалуется. Удивительно, но я могу вычислить экземпляры вычислительного двигателя просто отлично. – ffledgling

Смежные вопросы