首页 > 解决方案 > 在 GCP 中,SSH 进入 VM 和使用 Cloud Shell 有什么区别?

问题描述

我正在尝试在 GCP 上学习 ML。一些 Qwiklabs 和教程从 Cloud Shell 开始,以设置环境变量和安装 Python 包等内容,而另一些则从在 VM 中打开 SSH 终端开始执行这些初步步骤。

除了在第二种情况下需要首先配置 VM 之外,我无法真正区分这两种方法之间的区别。据推测,当您使用 Cloud Shell 时,无论如何都会在幕后为您配置某种 VM 实例。

那么这两种方法有什么不同呢?

标签: shellsshgoogle-cloud-platformcloudgoogle-cloud-shell

解决方案


Cloud Shell 是一种产品,旨在提供大量预配置工具,这些工具会不断更新,并且可以快速启动、可从 UI 访问且免费。基本上,它是获取交互式 shell 的一种快速方法。您可以从其文档中了解有关此环境的更多信息。

Cloud Shell也有限制——您每周只能使用 60 小时,如果您闲置,您的会话将被终止,并且只有 5GB 的存储空间。它也只是一个 f1-micro 实例,IIRC。因此,虽然它是为您提供的(而且是免费的!),但除了交互式 shell 之外,它并没有真正有用。

另一方面,通过 SSH 连接到 VM 会将您直接置于该 VM 上的终端中,就像您在任何特定主机上一样——您只有安装到该 VM 上的映像提供的任何工具(而且许多 VM 非常简单,这取决于图像)。但是,您现在位于主机上的终端中,该终端可能正在执行您想要使用的代码,并且它具有与您在该实例中配置的一样多的 CPU 和 RAM。

至于将您指向其中一个的指南 - 这真的取决于他们,但我怀疑他们会将客户端/工具类型工作指向云外壳(因为它简单且合理的标准环境,甚至可以编写脚本有教程),而他们可能会指出如何将生产中使用的必要软件安装到“真正的”虚拟机上。


推荐阅读