Для кластера GKE Kubernetes с псевдонимом, какое имя по умолчанию будет указано в дополнительном имени диапазона? - PullRequest
0 голосов
/ 11 января 2019

Я запускаю несколько кластеров GKE в Google Cloud за входом в несколько кластеров, настройка которого потребовала некоторых усилий.

К тому времени, когда я разобрался с этим, я уже израсходовал свои 5 подсетей, особенно в регионе us-east1. Мне не нужно больше 5, но ... очевидно, удаление кластера также не удаляет подсеть, которая была создана с ним .

Поэтому - мне нужно вручную удалить неиспользуемые подсети, и для этого мне нужно знать имена подсетей.

Моя проблема в том, что я не могу найти где-нибудь в документах GCP, где описывается, как будет выглядеть имя подсети после создания в новом кластере GKE (где имя подсети не указано).

Каким будет имя подсети с помощью следующей команды Создать кластер (например):

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

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

'Бюджет повторных попыток исчерпан (5 попыток): Google Compute Engine: Превышено максимальное поддерживаемое количество дополнительных диапазонов в подсети: 5.' endTime: u'2019-01-10T22: 16: 14.496871616Z '

Я открыт для дополнительных решений, которые позволяют мне правильно перечислять все подсети в регионе, НО Мой вопрос заключается в том, как GKE называет подсеть, созданную без имени ?

1 Ответ

0 голосов
/ 11 января 2019

OK. Как только я сдаюсь и отправлю вопрос, я обнаружу, что есть функция бета-версии gcloud, которая может перечислять подсети контейнерных сетей:

gcloud beta container subnets list-usable

Вы можете найти полные документы здесь: https://cloud.google.com/sdk/gcloud/reference/beta/container/subnets/list-usable

В основном с помощью указанной в вопросе команды Cluster Create GKE создаст два вторичных диапазона, один для модулей и один для служб, которые выглядят следующим образом:

┌───────────────────────────────────────┬───────────────┬──────────┐
│          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 │

Я не совсем уверен, какие символы помечены в конце имени вторичного диапазона, но я предполагаю, что они уникально генерируются для каждого кластера, поскольку все они различны в моих многорегиональных кластерах.

Одна странная вещь, которую я обнаружил на основании приведенной выше команды, заключается в том, что в каждом регионе можно использовать только два кластера, которые маршрутизируются с использованием собственной сети VPC.

Хотя это работает для моего варианта использования (и я согласен, что это должно работать для большинства), я просто подумал, что это интересно. Помимо этой команды, я вижу, что диапазоны, созданные с помощью GKE, удаляются при удалении кластера, НО вы можете иметь максимум 5 диапазонов подсетей на каждую сеть (в данном случае по умолчанию).

Полагаю, вы могли бы создать дополнительную подсеть, а затем добавить дополнительные вторичные диапазоны - но я не пробовал этого до сих пор.

...