Как правильно настроить Gitlab CI для облака Google с помощью SQL - PullRequest
1 голос
/ 13 октября 2019

Я хочу настроить Gitlab CI для автоматического тестирования и развертывания моего проекта Node.js в движке Google Cloud Kubernetes. Я также хочу иметь возможность подключиться к моему экземпляру Google Cloud SQL.

В настоящее время я работаю с Gitlab Auto Devops. Я подключил свой кластер kubernetes в gitlab и установил Helm, Ingress, Cert-Manager и Prometheus.

После небольшого поиска я узнал, что мне нужно развернуть Cloud SQL Proxy, чтобы иметь доступ кsql экземпляр с моего Node.js-сервера.

Мой конфигурационный файл Dockerfile:

FROM node:10.16.3

# Intsall Google Cloud SQL Proxy
RUN wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
RUN chmod +x cloud_sql_proxy
RUN ./cloud_sql_proxy -instances=myProject:zone:name=tcp:3306

# Node
WORKDIR /usr/src/app

ARG NODE_ENV
ENV NODE_ENV $NODE_ENV

COPY package.json /usr/src/app/
RUN npm config set "@fortawesome:registry" https://npm.fontawesome.com/
RUN npm config set "//npm.fontawesome.com/:_authToken" KEY
RUN npm install

COPY . /usr/src/app 

EXPOSE 5000
CMD [ "npm", "start" ]

Но это не удается при сборке:

2019/10/13 11:48:38 current FDs rlimit set to 1048576, wanted limit is 8500. Nothing to do here.
2019/10/13 11:48:40 error checking scopes: *url.Error Get http://x.x.x.x/computeMetadata/v1/instance/service-accounts/default/scopes: dial tcp x.x.x.x:80: i/o timeout | Get http://x.x.x.x/computeMetadata/v1/instance/service-accounts/default/scopes: dial tcp x.x.x.x:80: i/o timeout
The command '/bin/sh -c ./cloud_sql_proxy -instances=myProject:zone:name=tcp:3306' returned a non-zero code: 1

Почему возникает эта ошибка?

Нужно ли мне писать свою собственную конфигурацию .gitlab-ci.yml для обработки такого распространенного сценария?

Если да, то есть ли шаблоны для этого варианта использования, потому что все, что я нахожу, предназначено только для ручногоРазвертывание приложений с докером в GKE с SQL?

...