创建了一个简单的 Golang 应用程序,其中有一个通过 Gin Web 框架创建的服务器,该服务器接受请求并为其提供响应。现在部署它构建了一个 docker 容器,然后将其托管在云运行的谷歌云平台服务上。
我成功通过docker将node js容器镜像上传到云运行,并且工作正常。
但现在我必须以二进制形式上传根目录中的一些可执行文件。(也许,设置基本文件权限也很好)但我找不到访问它的方法..我知道它在 Debian 64 位上运行,对吧?如何访问根文件夹?
在 Cloud Run 中,如果我选择零作为最小实例,并且还选择“始终分配 CPU ”
那么我的问题是,如果 CPU 将分配给“无实例”,或者“始终分配 CPU”,则至少需要选择一个实例?
我不是在询问有关计费/定价的问题。
我只是想了解当没有实例时(因为最小值为零),那么“CPU 始终分配”会发生什么
或者当“CPU总是被分配”时,最小实例怎么可能为零?
我创建了一个新的云运行服务,设置为每秒 50 个最大请求(并发),但在生产中它一直徘徊在最大 2-3 个请求/秒/容器。我知道 cloud run 的目标是将 CPU 保持在 60% 左右,但我已经将其从 1 个 vCPU 增加到 4 个 vCPU,但我仍然没有看到我现在期望的 0.75 req/s 负载所需的 1 个容器。我尝试了“始终分配”CPU,但它并没有减少活动实例数。
到底是怎么回事?有什么办法可以让它坚持我设定的最大值吗?如果继续这样扩展,将会额外花费数百美元,因为我什至还没有打开所有请求。
替代问题:由于成本仅在请求分配期间产生,也许我不需要付费,并且活动容器的数量并不重要?
PS:这是一个无头抓取服务,因此它将运行无头 chrome,这需要大量的 CPU 才能启动,但每个额外的选项卡都不会大幅增加 CPU 要求。
PSS:此外,任何有关保持容器数量较低的建议建议都值得赞赏:我添加了最小活动实例 1,但这就是我考虑的全部内容。
我在 Google Cloud Run 上有一个非常基本的快速服务,该服务已构建并部署到容器中。它的访问权限设置为允许未经身份验证。
我在前端使用 fetch 和 React 将数据发送到服务器并接收响应。
在服务器上,我似乎无法从我的请求正文中获取数据?无论我对标题等使用什么设置,我都无法从中获取任何数据。
我正在使用 fetch clientside 发送 POST 请求:
const sendData = async() => {
const response = await fetch('https://my-service.run.app', {
method: 'POST',
mode: 'no-cors',
body: { mydata: "some data"},
json: true
});
return response;
}
Run Code Online (Sandbox Code Playgroud)
在服务器上,我的服务超级简单。目前我想要的只是将 json 从客户端发送到云运行服务器,记录它,然后将相同的数据作为响应发送回客户端。但是,控制台日志总是给我一个空对象。
const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const {Storage} = require('@google-cloud/storage');
const cors = require('cors');
const corsOptions = {
origin: true,
mode: 'no-cors',
optionsSuccessStatus: 200
};
const port …Run Code Online (Sandbox Code Playgroud)