5

Я смог успешно создать кластер контейнеров Google в консоли разработчика и развернул к нему свое приложение. Это все начинается хорошо, однако я считаю, что я не могу подключиться к Cloud SQL, я получаю;Изменение разрешений кластера контейнеров Google

"Error: Handshake inactivity timeout" 

После недолгого копания, у меня не было никаких проблем с подключением к базе данных из App Engine или моей локальной машине, так что я думал, что это было немного странно. Тогда я заметил, что разрешения кластера ...

Когда я выбираю кластер, я вижу следующее:

Permissions 

User info   Disabled 
Compute    Read Write 
Storage    Read Only 
Task queue   Disabled 
BigQuery   Disabled 
Cloud SQL   Disabled 
Cloud Datastore  Disabled 
Cloud Logging  Write Only 
Cloud Platform  Disabled 

Я действительно надеялся использовать Cloud Cloud и Cloud SQL в своих узлах контейнера. Я разрешил доступ к каждому из этих API в настройках моего проекта, и мой экземпляр Cloud SQL принимает соединения с любого IP (ранее я запускал узел в управляемой виртуальной машине в App Engine), поэтому я считаю, что Google явно отключается эти API.

Так что мой вопрос состоит из двух частей;

  • Есть ли способ, которым я могу изменить эти разрешения?
  • Есть ли веская причина, почему эти API отключены? (Я полагаю, что должно быть)

Любая помощь очень ценится!

ответ

9

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

Если вы используете облачную консоль, нажмите ссылку «Больше» на странице создания кластера, и вы увидите список разрешений, которые вы можете добавить к узлам в вашем кластере (все по умолчанию неактивны). Переключайте все, что хотите, и вы должны увидеть соответствующие разрешения после создания кластера.

Если вы используете командную строку для создания своего кластера, передайте команду --scopes на gcloud container clusters create, чтобы установить соответствующие области учетных записей службы на виртуальных машинах вашего узла.

+0

Каковы варианты добавления разрешения на существующий кластер? Мне нужно включить Google Storage. Нужно ли мне создавать новое разрешение и переносить существующий кластер? – Gajus

+0

Как сказано в CJ, вы можете добавить разрешения для нового пула узлов. Если вы хотите изменить разрешения для каждого узла в вашем кластере, создайте новый пул узлов, перенесите свои рабочие нагрузки и удалите исходный пул узлов. –

+0

EDIT: с августа 2017 года вы можете обновлять области учетных записей службы при запуске экземпляров. См. Https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes –

11

С Pools Node, вы можете рода добавить областей к запущенному кластера путем создания нового пула узла с областями, которые вы хотите (и затем удалить старую):

gcloud container node-pools create np1 --cluster $CLUSTER --scopes $SCOPES 
gcloud container node-pools delete default-pool --cluster $CLUSTER 

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

  • Нет связанных вопросов^_^