Установка Cloud SQL Proxy на Dataproc

google-cloud-dataproc

416 просмотра

1 ответ

Я пытаюсь установить Виртуальный MySQL Proxy на кластере Dataproc с инициализацией-действиями в качестве примера здесь . Я удалил всю часть метаданных улья, потому что она мне не нужна. Прокси установлен, но я не могу подключиться к своему экземпляру. Созданный файл cloud-sql-proxy.service выглядит хорошо:

> cat /usr/lib/systemd/system/cloud-sql-proxy.service 
[Unit]
Description=Google Cloud SQL Proxy
After=local-fs.target network-online.target
After=google.service
Before=shutdown.target

[Service]
Type=simple
ExecStart=/usr/local/bin/cloud_sql_proxy   -dir=/var/run/cloud_sql_proxy    -instances_metadata=attributes/additional-cloud-sql-instances

[Install]
WantedBy=multi-user.target

Кроме того, если я пытаюсь получить значение, attributes/additional-cloud-sql-instancesоно выглядит нормально:

> /usr/share/google/get_metadata_value attributes/additional-cloud-sql-instances
> myproject-12345:europe-west1:my-db-instance=tcp:3333

Тем не менее я не могу подключиться к экземпляру. Когда я останавливаю сервис и запускаю его снова, я вижу сообщение об ошибке:

> /usr/local/bin/cloud_sql_proxy -dir=/var/run/cloud_sql_proxy -instances_metadata=attributes/additional-cloud-sql-instances
2017/07/03 09:23:44 Ready for new connections
2017/07/03 09:23:44 Error on receiving new instances from metadata: metadata: GCE metadata "attributes/additional-cloud-sql-instances" not defined

Я делаю что-то неправильно? В то же время я могу заставить это работать -instances=myproject-12345:europe-west1:my-db-instance=tcp:3333вместо использования ключа метаданных, но мне интересно, почему он не работает, как показано в примере.

Автор: Nira Источник Размещён: 01.10.2019 06:41

Ответы (1)


2 плюса

Решение

Существует небольшая разница в том, как прокси-сервер Cloud SQL интерпретирует флаги и как get_metadata_value интерпретирует свои входные данные.

При использовании get_metadata_value атрибут для чтения предполагается относительно

http://metadata.google.internal/computeMetadata/v1/instance/

в то время как в случае облачного SQL-прокси все пути должны быть относительно:

http://metadata.google.internal/computeMetadata/v1/

Поэтому, если вы хотите, чтобы прокси-сервер Cloud SQL считывал метаданные экземпляра, передайте:

-instances_metadata=instance/attributes/additional-cloud-sql-instances
Автор: Angus Davis Размещён: 06.07.2017 01:43
Вопросы из категории :
32x32