Как запустить Cloud SQL прокси с супервизором - PullRequest
0 голосов
/ 14 октября 2018

Я пытался запустить прокси-сервер CloudSQL на supervisor, однако я понятия не имею, что с ним не так. В документации нет никаких подсказок по этому вопросу.Любые идеи будут высоко оценены.

Я попробовал установку на чистой Ubuntu 16, а затем установил supervisor и скачал cloud_sql_proxy.И я помещаю файлы в /root и выполняю от имени root для отладки.

Вот мои текущие настройки:

/ etc / supervisord.conf

[unix_http_server]
file=/tmp/supervisor.sock   ; the path to the socket file
chmod=0766                  ; socket file mode (default 0700)

[supervisord]
logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB        ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10           ; # of main logfile backups; 0 means none, default 10
loglevel=info                ; log level; default info; others: debug,warn,trace
pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=false               ; start in foreground if true; default false
minfds=1024                  ; min. avail startup file descriptors; default 1024
minprocs=200                 ; min. avail process descriptors;default 200

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL  for a unix socket

[include]
files = /etc/supervisor/conf.d/*.conf

/ etc / supervisor / conf.d / cloud_sql_proxy.conf

[program:cloud_sql_proxy]
command=/root/cloud_sql_proxy -dir=/cloudsql -instances="project_id:us-central1:instance-name" -credential_file="/root/service-account.json"
autostart=true
autorestart=true
startretries=1
startsecs=8
stdout_logfile=/var/log/cloud_sql_proxy-stdout.log
stderr_logfile=/var/log/cloud_sql_proxy-stderr.log

После проверки /tmp/supervisord.log я получил следующую ошибку:

2018-10-14 15:49:49,984 INFO spawned: 'cloud_sql_proxy' with pid 3569
2018-10-14 15:49:49,989 INFO exited: cloud_sql_proxy (exit status 0; not expected)
2018-10-14 15:49:50,991 INFO spawned: 'cloud_sql_proxy' with pid 3574
2018-10-14 15:49:50,996 INFO exited: cloud_sql_proxy (exit status 0; not expected)
2018-10-14 15:49:51,998 INFO gave up: cloud_sql_proxy entered FATAL state, too many start retries too quickly
2018-10-14 15:51:46,981 INFO spawned: 'cloud_sql_proxy' with pid 3591
2018-10-14 15:51:46,986 INFO exited: cloud_sql_proxy (exit status 0; not expected)
2018-10-14 15:51:47,989 INFO spawned: 'cloud_sql_proxy' with pid 3596
2018-10-14 15:51:47,998 INFO exited: cloud_sql_proxy (exit status 0; not expected)
2018-10-14 15:51:47,999 INFO gave up: cloud_sql_proxy entered FATAL state, too many start retries too quickly

1 Ответ

0 голосов
/ 15 октября 2018

Наконец мне удалось выяснить работающее решение, и вот оно:

Создать новый файл /root/start_cloud_sql_proxy.sh:

#!/bin/bash
/root/cloud_sql_proxy -dir=/cloudsql -instances="project_id:us-central1:instance-name" -credential_file="/root/service-account.json"

В / etc / supervisor /conf.d / cloud_sql_proxy.conf, измените команду для выполнения файла bash:

command=/root/start_cloud_sql_proxy.sh
...