标签: google-cloud-run

Nginx 容器无法在 Cloud Run 上启动

我正在尝试在 Cloud Run 上使用 Nginx 提供简单的静态页面。但容器无法正常开始服务。

容器正在启动,如以下回显的调试行所示docker-entrypoint.sh

2019-05-26T22:19:02.340289Z testing config
2019-05-26T22:19:02.433935Z nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2019-05-26T22:19:02.434903Z nginx: configuration file /etc/nginx/nginx.conf test is successful
2019-05-26T22:19:02.436605Z starting on 8080
2019-05-26T22:19:02.487188Z2019/05/26 22:19:02 [alert] 6#6: prctl(PR_SET_DUMPABLE) failed (22: Invalid argument)
Run Code Online (Sandbox Code Playgroud)

并最终终止

2019-05-26T22:20:00.153060259ZContainer terminated by the container manager on signal 9.
Run Code Online (Sandbox Code Playgroud)

为了符合Cloud Run 服务合同专门$PORT侦听docker-entrypoint.sh在.conf.d/*.conf

FROM nginx:1.15-alpine

COPY nginx-default.conf.template /etc/nginx/conf.d/default.conf.template

COPY docker-entrypoint.sh /
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)

我非常有信心问题出在其中docker-entrypoint.sh …

google-cloud-run

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

有没有办法将IP地址列入白名单来访问Cloud Run服务?

有没有办法通过白名单 IP 地址设置对Cloud Run服务的访问?

除了此身份验证概述之外,我在文档中找不到

google-cloud-run

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

ENV 变量中的 Google Cloud Run 和 JSON

我正在部署一个使用config. NODE_CONFIG被读取并用于取代任何本地配置。这在部署带有机密的服务时非常方便,因为可以从外部注入配置。

当尝试使用 Google Cloud Run 和 CLI 实现此目的时,我收到转义错误。显然 CLI 仅支持字典。

JSON有没有更好的方法通过环境变量传递内容?

gcloud run deploy pr-$PULL_REQUEST \
  --platform=managed \
  --revision-suffix=$revision \
  --region us-central1 \
  --set-env-vars="NODE_ENV=development,NODE_CONFIG='$json'" \
  --allow-unauthenticated \
  --image gcr.io/...
Run Code Online (Sandbox Code Playgroud)

google-cloud-run

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

使用 Cloudrun for ENDPOINTS_SERVICE_NAME 环境变量时,Google Cloud Endpoints 收到错误

使用 ESPv2 Beta sidecar 容器设置后端服务后收到以下错误消息。

Serverless ESPv2 expects ENDPOINTS_SERVICE_NAME in environment variables.

 Did you forget to build the Endpoints service configuration
 into the ESPv2 image? Please refer to the official serverless
 quickstart tutorials (below) for more information.

 https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-run#configure_esp
 https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions#configure_esp

 If you are following along with these tutorials but have not
 reached the step above yet, this error is expected. Feel free
 to temporarily disregard this error message.

 If you wish to skip this step, please specify the name of the …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform google-cloud-endpoints-v2 google-cloud-run

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

想要通过 Terraform 部署 Google Cloud Run 服务

我想使用 terraform 部署一个谷歌云运行服务。当我尝试通过“端口”块进行部署以定义容器端口时,出现错误,我必须从模板标记传递容器端口,但无法这样做。这是我的 .tf 文件 -

resource "google_cloud_run_service" "default" {
  name     = "cloudrun-srv"
  location = "us-central1"

  template {
    spec {
      containers {
        image = "us.gcr.io/xxxxxx/xxxx.app"

        port {
          container_port = 19006
        }
      }
    }
  }

  traffic {
    percent         = 100
    latest_revision = true
  }
}

data "google_iam_policy" "noauth" {
  binding {
    role = "roles/run.invoker"
    members = [
      "allUsers",
    ]
  }
}

resource "google_cloud_run_service_iam_policy" "noauth" {
  location    = google_cloud_run_service.default.location
  project     = google_cloud_run_service.default.project
  service     = google_cloud_run_service.default.name

  policy_data = data.google_iam_policy.noauth.policy_data
}

output "url" { …
Run Code Online (Sandbox Code Playgroud)

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

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

如何从通过 https 加载的 Web 应用程序中调用 http://metadata.ggogle.internal

我有一个在 Cloud Run(nginx 网络服务器)上运行的 Angular Web 应用程序(更多信息在这里),我想从中获取来自 GCP 元数据服务器的访问令牌。我试图调用https://metadata.google.internal(使用 Cloud Shell 中的 curl),但连接被拒绝。对 HTTP 的调用运行良好。

当我通过 HTTP 从我的应用程序(通过 https 加载)调用元数据服务器时 - 从逻辑上讲,我收到了一个混合内容错误。当尝试通过 HTTPS 访问元数据服务器时 - 我收到错误 504 网关超时,我假设是由于元数据服务器拒绝 HTTPS 调用的原因。

我将非常感谢有关如何解决此问题的任何想法。

metadata nginx google-cloud-platform mixed-content google-cloud-run

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

GCP - 无法在 Cloud Run 中使用 Google Secret Manager (@google-cloud/secret-manager)

我一直在我的 Node 应用程序中使用 @google-cloud/secret-manager 插件,以前托管在 Google App Engine 上。

在我将代码移至 Cloud Run 之前,它运行良好。我现在收到以下错误:错误:

错误:500 未定义:从插件获取元数据失败,错误:无法刷新访问令牌:响应状态代码不成功。

这是我的代码示例:

import { SecretManagerServiceClient } from '@google-cloud/secret-manager';

const SECRET = {
  FOO_KEY: 'foo_key',
  BAR_KEY: 'bar_key',
};

const buildSecretName = keyName => {
  const project = process.env.PROJECT_ID;
  return `projects/${project}/secrets/${keyName}/versions/latest`;
};

const accessSecret = async keyName => {
  const client = new SecretManagerServiceClient();
  const name = buildSecretName(keyName);
  
  const [version] = await client.accessSecretVersion({
    name,
  });

  return version.payload.data.toString('utf8');
};

const accessFooKey = async () => {
  const secret = …
Run Code Online (Sandbox Code Playgroud)

node.js google-cloud-platform google-cloud-run google-secret-manager

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

将 Google Cloud Run 服务连接到 Google Cloud SQL 数据库

我有 2 个谷歌云服务:

  1. 谷歌云运行服务(Node Js / Strapi)
  2. 谷歌云 SQL 服务 (Mysql)

我已将 Cloud SQL 连接从 UI 添加到 Google Cloud Run 服务,并拥有 Google Cloud SQL 服务的公共 IP。最重要的是,我已将运行服务 IP 添加到 SQL 服务的授权网络中。

如果我尝试从另一台服务器(谷歌云外部)连接,我可以轻松连接到谷歌云 SQL 服务并执行查询。但是,如果我尝试从 GCloud Run Service 内部使用完全相同的设置(Ip、database_name 等)进行连接,我的连接就会挂起,并且日志中会出现超时错误...

如何正确允许 Gcloud SQL 接受来自 GCloud RUN 的连接?

我在这里寻找其他答案,但它们看起来都很旧(大约 2015 年)

google-cloud-sql google-cloud-platform google-cloud-run

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

Cloud Run 禁用旧版本

有没有办法告诉 Cloud Run 它不应该再使用旧版本?

部署服务的新版本后,我正在使用 update-traffic 命令并成功设置 100% 的流量以转到新版本,但 UI 仍将旧版本显示为“正在提供流量”(尽管它是 0 %) 这也会阻止最新版本扩展到 max-instances 选项(这是真正的问题)。

在此处输入图片说明

cloud google-cloud-platform google-cloud-run

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

无服务器 VPC 访问连接器是单点故障吗?

我想将我的 Cloud Run 应用程序连接到 Postgres Cloud SQL 实例而不为该实例分配公共 IP。似乎唯一的方法是使用无服务器 VPC 访问连接器。

文档表明无服务器 VPC 访问连接器按每 100Mbps 1 个 e2-micro 实例计费。这是否表明连接器只是一个单一的 e2-micro VM?是否在幕后配置了任何冗余/自动故障转移?

我找不到无服务器 VPC 访问的任何 SLA,我担心这可能是我的应用程序的单点故障,导致所有数据库连接中断。

google-cloud-sql google-cloud-platform serverless google-cloud-run

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