问题标签 [managed-vm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
115 浏览

google-app-engine - 托管 VM 实例创建为空

当我跑

它执行时没有错误消息或警告,并且我在开发人员控制台中看到了一个新的托管 VM 实例。问题是这个实例的大小为 0 字节,而且显然不起作用。

看起来我不是第一个遇到这个问题的人,但没有回应这个问题。希望这次有人知道如何回答。

这里是 app.yam 的内容,如果重要的话:

0 投票
1 回答
172 浏览

java - 无法在 App Engine 托管的虚拟机上运行 ZK 电子表格

我根据此处的示例编写了一个非常简单的应用程序。

当我尝试使用独立的 Jetty 9.2.10.v20150310(与 GAE Managed VM 使用的版本相同)运行它时,它工作正常(加载和保存)。当我尝试使用 Google Cloud SDK maven 插件运行它或将其部署到 App Engine 时,电子表格内容会加载,但 CSS 无法下载,并在服务器上出现异常:

然后 UI 变得有点混乱 - 单元格选择突出显示的单元格长度不正确,并且尝试键入或格式化单元格的内容失败。我尝试了各种组合 - ZUL 和 JSP,使用 src 属性、bookProvider 属性 ins JSP 和 SelectorComposer 设置电子表格,有时上面提到的 CSS 下载得很好并且没有异常,或者稍后出现异常,但是在所有情况下,只要我对单元格进行更改,它们就会立即恢复,或者在尝试输入一个单元格后,我无法输入任何内容。从记录的异常中,我认为当前的书在操作过程中以某种方式为空,例如:

我按照此处的说明使应用程序对 GAE 更加友好,但除了会话序列化之外,我认为托管 VM 中不需要这些设置,并且它们没有任何区别。

从它在相同版本的独立 Jetty 上工作的事实来看,我认为可以假设 App Engine / Docker 以某种方式导致了这种情况。我能够使用使用修改后的 Jetty 6 的旧 GAE SDK 在本地运行它,但它不模拟生产环境。我无法部署到经典 GAE,因为 ZK 电子表格依赖于 java.awt.* 类。

我尝试使用默认的 Java 运行时,还尝试使用基于 gcr.io/google_appengine/jetty9 、 gcr.io/google_appengine/java-compat 和 gcr.io/google_appengine/jetty9-compat 的自定义运行时 - 似乎没有事情。

我想我可以尝试基于独立 Jetty(或任何应用程序服务器)的第三方 Docker 映像只是为了让事情正常工作,但我确实需要访问数据存储区和 blobstore。

任何处理此问题的帮助将不胜感激。

0 投票
2 回答
65 浏览

node.js - 在谷歌计算引擎上更新托管虚拟机的代码

我知道这可能是一个简单的解决方案,但我对此很陌生,因此将不胜感激。

我一直在使用谷歌计算引擎上的托管 vm 运行 node.js 的 hello world 应用程序,我刚刚完成了这个阶段

gcloud preview app deploy app.yaml --promote

这使我可以安装该应用程序,并且可以正常工作。

但是我现在如何更新该代码?如果我再次运行该命令,它会启动新实例并将其视为新的上传。

0 投票
1 回答
239 浏览

google-app-engine - 具有自动扩展功能的 Google App Engine 托管虚拟机始终从最大实例数开始,然后缩减

当我部署自定义托管 VM 模块时,它总是从最大实例数开始,然后再缩减。

为什么会发生这种情况,有没有办法解决这个问题?

我怀疑这是因为启动期间 cpu 利用率高于目标。但是缩放器不应该知道在启动期间不评估利用率吗?

我的缩放设置如下:

0 投票
1 回答
165 浏览

managed-vm - 是否可以将本地 SSD 存储与 Google 托管的虚拟机一起使用?

我们正在使用托管 VM,目前可以从 VM 中的本地磁盘(这是一个标准的磁性 HD)提供文件,也可以从 Google Cloud Storage(也由磁性 HD 支持)提供文件。 https://cloud.google.com/appengine/docs/managed-vms/

当我们在延迟敏感的环境中处理大文件(高分辨率地理图像)时,我们希望能够将本地 SSD 与我们的托管 VM 应用程序一起使用(数据不是持久的,这没关系,它只是需要快速并处理大文件)。在某些时候,我们可能想要使用其他快速且专为处理大文件而设计的服务(例如 Blobstore?),但我们已经设置了处理文件的工作流程,因此设置更快的文件应该是最简单的现在系统。是否可以将本地 SSD 存储与托管 VM 一起使用?

这是有关本地 SSD 的信息。它们需要在实例创建时创建(对于 Google Compute 实例,托管 VM 在幕后创建)。看起来本地 SSD 可以通过命令行、gcloud 计算或 API 创建,但由于托管 VM 正在为我们创建实例,因此不清楚我们将在哪里配置这些东西。大概我们会在 app.yaml、Dockerfile 或 gcloud 命令中执行此操作,但它是如何工作的并不明显。 https://cloud.google.com/compute/docs/disks/local-ssd

0 投票
1 回答
342 浏览

django - Django Manage.py 从 Google Managed VM Dockerfile 迁移 - 如何?

我正在研究托管在 Google 托管 VM 服务上的 Django 的简单实现,该服务由 Google Cloud SQL 提供支持。我能够很好地部署我的应用程序,但是当我尝试在 Dockerfile 中发出一些 Django manage.py 命令时,我得到了错误。

这是我的 Dockerfile:

很基本。如果我排除这RUN python manage.py migrate --noinput条线,并使用 GCloud 工具进行部署,一切正常。如果我然后登录到 VM,我可以manage.py migrate毫无问题地发出命令。

但是,为了简化部署,我真的希望能够从 Dockerfile 发出 Django manage.py 命令。目前,如果manage.py包含该语句,我会收到以下错误:

django.db.utils.OperationalError: (2002, "Can't connect to local MySQL server through socket '/cloudsql/my_app:us-central1:my_app_prod_00' (2)")

似乎是一个足够简单的错误,但它让我很难过,因为连接肯定是有效的。正如我所说,如果我在不发出manage.py命令的情况下进行部署,那么一切正常。Django 可以连接到数据库,我可以在 VM 上手动发出命令。

我想知道我的问题的原因是否cloudsql/是在部署 Dockerfile 时 sql 代理()不存在。如果是这样,我该如何解决这个问题?

我是 Docker 新手(这是我的第一次尝试)并且对 Django 很陌生,所以我不确定处理这种性质的部署的正确方法是什么。我应该把这个命令放在别处吗?

0 投票
1 回答
118 浏览

google-app-engine - Java Google AppEngine 托管虚拟机:可以通过 Logging API 获取哪些日志?

我喜欢我可以使用 Logs API(在此处描述:https ://cloud.google.com/appengine/docs/java/logs/ )以编程方式访问和显示我认为合适的应用程序和请求日志——这很棒。

现在我在 AppEngine 上使用托管虚拟机,您可以在管理控制台日志查看器上看到有大量其他日志 - 包括在我的情况下我发现可以包含在查看器中的自定义日志(在此处描述:https ://cloud.google.com/appengine/docs/managed-vms/custom-runtimes#logging)。

管理控制台日志查看器

我的问题是:有什么方法可以使用 Logs API(或其他已构建的管道?)来访问这些日志?我的托管 VM 模块包含几个组件,它们可以生成我想要查看的日志:

  1. 应用程序日志——我可以得到这些!这里没问题。
  2. 我在 _ah/start 中启动的后台进程创建的自定义日志文件(如屏幕截图中的“my_custom_1.log”)
  3. 我的后台进程中的 STDERR 和 STDOUT
  4. 相关的托管 VM 日志(例如,当实例因健康状况不佳而重新启动时......其他系统事件,如正常重新启动?)

基本上我想要实例级别的“全貌” 。有人尝试以这种方式成功驯服托管虚拟机吗?我不期待推出自己的解决方案。我什至不知道从哪里开始捕获 STDERR 和 STDOUT 的问题。任何帮助表示赞赏。

0 投票
1 回答
263 浏览

google-app-engine - 可能的?如何在 Google 托管的 VM 环境中设置 VNC

我正在使用 Java,但这不一定是 Java 问题。谷歌的“java-compat”镜像是 Debian (3.16.7-ckt20-1+deb8u3~bpo70+1 (2016-01-19))。

这是我的 Dockerfile:

在管理控制台中,我创建了一个防火墙规则来打开 5900。最后,我使用以下命令在“_ah/start”启动挂钩中调用 vnc 服务器本身:

一切似乎都设置正确,但我无法连接 TightVNC。我对在管理控制台中找到的实例使用公共(临时)IP 地址,后跟 ::5900(由于某种原因,TightVNC 需要两个冒号)。我收到一条消息,服务器拒绝连接。事实上,当我尝试远程登录到端口 5900 时,它被阻止了。

接下来我通过 SSH 连接到容器机器,当我使用 wget xxx.xxx.xxx.xxx:5900 测试容器上的端口时,我得到了一个连接。所以在我看来,容器不接受端口 5900 上的连接。我说对了吗?是否可以打开端口并将我的 VNC 客户端路由到 docker 容器中?任何帮助表示赞赏。

为什么我不能使用 Compute Engine。 只是为了抢占一些关于使用谷歌计算引擎环境而不是托管虚拟机的评论。我在代码中大量使用了数据存储和任务队列。我不认为这些可以在 Compute Engine 上运行(或本机/高效运行)。但我可能会将其作为一个单独的问题提出。

更新:评论中的 Per Paul... 学习了一些 docker 术语:我可以在 Google 环境中的容器上发布一个端口吗?

0 投票
1 回答
400 浏览

google-app-engine - 由于启用 Cloud Storage JSON API,部署 AppEngine 版本失败

我正在尝试部署到 Google AppEngine。(更准确地说:托管虚拟机。)

我跑了 gcloud preview app deploy d:\dev\mytest\yaml-war\app.yaml --version=joshua20160316d --project=mytest-test1

大约30分钟后,它失败了。

错误消息指示我在 Cloud Developer Console 中记录行(见下文),这些行告诉我需要启用对 Cloud Storage JSON API 的访问。但是,开发者控制台显示 Cloud Storage JSON API 已启用。(见截图。)

另外,请注意,这适用于其他团队成员;并且针对不同项目的相同命令也成功了。所以,这是特定于项目和我的帐户的某种设置,但我不知道是什么。

我需要做什么才能完成这项工作?

截屏;  API 已启用

本地日志包括以下内容。

}

0 投票
2 回答
1556 浏览

google-app-engine - 今天的 Appengine 部署异常缓慢?

我们有一个小型java项目需要部署它包括9000多个文件

命令: mvn gcloud:deploy

但我得到了日志:

大约每分钟 50 个所以它会花费 180 分钟...

它非常慢

有人可以帮助我吗?