标签: google-cloud-run

如何从 Cloud Run 上运行的 Laravel 项目连接到 Cloud SQL?

对于概念验证项目,我尝试连接在完全托管的存储层上运行的 LaravelCloud Run项目Cloud SQL

我已经设法使用该命令通过 Google App Engine 获得正常运行的服务gcloud app engine(该服务可以连接到存储层)。我还通过cloud_sql_proxy我的服务的本地 docker 容器成功连接了存储层。但我无法通过 Cloud Run 进行远程设置。

我正在部署 docker 映像,如下所示:

gcloud run deploy --image eu.gcr.io/demo/customerservice --add-cloudsql-instances demo:europe-west1:dps-demo --update-env-vars INSTANCE_CONNECTION_NAME="demo:europe-west1:dps-demo
Run Code Online (Sandbox Code Playgroud)

我的服务针对请求返回的错误是:

could not find driver (SQL: select * from `cache` where `key` = laravel_cachefa9d927c88ff8ebffd06913d97f9d59e limit 1)
Run Code Online (Sandbox Code Playgroud)

(任何类型的数据库查询都会发生此错误,如果我使用本地缓存,则类似)

这是我的.env文件(我删除了一些与问题无关的混乱内容):

APP_NAME=Laravel
APP_ENV=local
APP_KEY=***
APP_DEBUG=true
APP_URL=http://CustomerService.test
APP_STORAGE=/tmp


LOG_CHANNEL=stack
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=***
DB_SOCKET=/cloudsql/demo:europe-west1:dps-demo

BROADCAST_DRIVER=log
CACHE_DRIVER=database
QUEUE_CONNECTION=sync
SESSION_DRIVER=database
SESSION_LIFETIME=120

VIEW_COMPILED_PATH=/tmp
Run Code Online (Sandbox Code Playgroud)

laravel google-cloud-sql google-cloud-run

4
推荐指数
1
解决办法
2262
查看次数

谷歌云运行:服务可以知道自己的网址吗?

我想知道部署在云运行上的容器是否可以以某种方式获取自己的服务 url 还是不可能?

我想知道这一点,因为我想要一个云运行工作人员为自己创建谷歌云任务。

如果可以的话,怎样才能做到呢?

google-cloud-run

4
推荐指数
1
解决办法
2986
查看次数

如何在 Cloud-Run Flask 应用程序中获取用户的 IP 地址?

我有一个通过 Google Cloud Run 运行的 Flask 应用程序,我需要知道用户的 IP 地址。我正在使用 Gunicorn 作为我的服务器。我尝试过以下代码:

request.remote_addr
request.environ['REMOTE_ADDR']
request.environ.get('HTTP_X_REAL_IP', request.remote_addr)
Run Code Online (Sandbox Code Playgroud)

它返回这个 IP 地址:169.254.8.129不是我的。这可能是应用程序和用户之间负载均衡器的 IP 吗?

有没有一种方法可以获得正确的 IP 地址而无需使用额外的服务?

python flask google-cloud-run

4
推荐指数
1
解决办法
2900
查看次数

如何将云运行项目区域“us-west1”更改为“asia-south1”

我有一个 Django 项目与 google cloud 一起运行在“us-west1”区域。我想将该区域切换到“asia-south1”,这怎么可能?

项目应贯穿“asia-south1”区域,以便减少响应时间。(我不需要多区域设施,因为我的所有客户仅属于该区域)

我在以下链接的计算引擎中看到了这样的功能

更改默认区域或区域

但我正在寻找云运行服务的解决方案。

提前致谢!

region google-cloud-run

4
推荐指数
1
解决办法
1344
查看次数

如何在 Cloud Run 中以特权运行 docker 容器

我有一个 docker 容器,需要使用 --privileged 运行,以便在启动后建立 VPN 连接

我正在使用 Cloud Build 将其迁移到 Cloud Run

我尝试了 --container-privileged 但这似乎只适用于 GCE,我还在cloudbuild.yaml 中的调用中添加了以下内容,但它args抱怨gcloud run deployerror: "Invalid command \"docker run --privileged\": file not found anywhere in PATH

   - --command
    - docker run --privileged
Run Code Online (Sandbox Code Playgroud)

docker google-cloud-platform google-cloud-build google-cloud-run docker-privileged

4
推荐指数
1
解决办法
1302
查看次数

如何将 Cloud Run 容器执行到 Airflow DAG 中?

我正在尝试使用 Cloud Run 来运行容器作为 Airflow 的 DAG 的任务。

似乎没有像 CloudRunOperator 或类似的东西,我在文档中找不到任何内容(Cloud Run 和 Airflow 都可以)。

有人处理过这个问题吗?如果是,我如何使用 Cloud Run 运行容器并处理 xcom?

提前致谢!!

google-cloud-platform airflow google-cloud-composer google-cloud-run

4
推荐指数
1
解决办法
5378
查看次数

(Terraform、Cloud Run)错误:禁止 您的客户端无权从该服务器获取 URL /

我正在尝试使用以下Terraform代码在Cloud Run上运行 docker 映像:

provider "google" {
  credentials = file("myCredentials.json")
  project     = "myproject-214771"
  region      = "asia-northeast1"
}

resource "google_cloud_run_service" "default" {
  name     = "hello-world"
  location = "asia-northeast1"

  template {
    spec {
      containers {
        image = "gcr.io/myproject-214771/hello-world:latest"
      }
    }
  }

  traffic {
    percent         = 100
    latest_revision = true
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,docker镜像运行成功:

在此输入图像描述

但是当我访问该 URL 时,它显示:

在此输入图像描述

错误:禁止 您的客户端无权从该服务器获取 URL /

我的Terraform代码中有任何错误吗?

google-cloud-platform terraform devops terraform-provider-gcp google-cloud-run

4
推荐指数
1
解决办法
8004
查看次数

在不更改 Terraform 的情况下将新的容器修订版部署到 Cloud Run

我正在为涉及 Cloud Run 的 GCP 项目设置 CI&CD 环境。虽然通过 Terraform 设置一切都非常简单,但我不知道如何在代码更改时更新环境。

文档

  1. 更改配置文件。

但这将应用程序部署与 terraform 配置耦合在一起,而 terraform 配置应该只负责基础设施部署。

理想情况下,我使用 terraform 来配置基础设施,并使用另一个 CI 步骤来构建和部署容器。

这里有最佳实践吗?

相关来源:1

google-cloud-platform terraform terraform-provider-gcp google-cloud-run

4
推荐指数
1
解决办法
2608
查看次数

开始使用 Google Cloud Kubernetes 集群后,Cloud Build 无法部署 Cloud Run

我一直在使用 Google Cloud 免费试用帐户。

我能够从我的 Github 存储库部署 Cloud Run 版本。但是,自从我开始使用 Google Cloud Kubernetes 集群和作业(在 Google Compute Engine 中使用 2 个虚拟机)后,Cloud Run 部署开始失败:

Step #2 - "Deploy": gcr.io/google.com/cloudsdktool/cloud-sdk:slim
Step #2 - "Deploy": Deploying...
Step #2 - "Deploy": failed
Step #2 - "Deploy": Deployment failed
Step #2 - "Deploy": ERROR: (gcloud.run.services.update) spec.template.spec.containers[0].resources.limits.cpu: Invalid value specified for cpu. For the specified value, maxScale may not exceed 30.
Step #2 - "Deploy": Consider running your workload in a region with greater capacity, decreasing your …
Run Code Online (Sandbox Code Playgroud)

google-compute-engine google-cloud-platform google-kubernetes-engine google-cloud-build google-cloud-run

4
推荐指数
2
解决办法
3279
查看次数

安装 GCSFuse 时出现错误网关错误

我尝试使用以下命令安装 GCSFuse:

gcsFuseRepo=gcsfuse-`lsb_release -c -s`; \     
echo "deb http://packages.cloud.google.com/apt $gcsFuseRepo main" | \     
tee /etc/apt/sources.list.d/gcsfuse.list; \     
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | \     
apt-key add -; \     
apt-get update; \     
apt-get install -y gcsfuse \     
&& apt-get clean
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

E: Failed to fetch http://packages.cloud.google.com/apt/pool/gcsfuse-buster/gcsfuse_1.2.0_amd64_0e91d38c68c91349633d37c17e1586e6.deb 502 Bad Gateway [IP: xxx.xxx.xx.xxx 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Run Code Online (Sandbox Code Playgroud)

错误日志表明由于 502 Bad Gateway 错误,导致获取 gcsfuse 包失败。我尝试按照错误消息的建议运行 apt-get update 和 --fix-missing ,但问题仍然存在。

我期待 GCSFuse 成功安装。任何解决此问题的帮助将不胜感激。

google-cloud-platform gcsfuse google-cloud-run

4
推荐指数
1
解决办法
1059
查看次数