在GCP中,SSH进入虚拟机和使用Cloud Shell有什么区别?

时间:2019-10-07 23:42:46

标签: shell ssh google-cloud-platform cloud google-cloud-shell

我正在尝试在GCP上学习ML。一些Qwiklab和教程从Cloud Shell开始以设置诸如env变量之类的内容并安装Python软件包,而另一些Qwiklab和Tutorials则通过向虚拟机中打开SSH终端来执行这些初步步骤来开始。

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

那么两种方法有何不同?

1 个答案:

答案 0 :(得分:3)

Cloud Shell是一种产品,旨在提供大量预配置的工具,这些工具可以保持更新,并且可以快速启动,可从UI访问并且免费。基本上,这是获取交互式外壳的快速方法。您可以从its documentation了解有关此环境的更多信息。

Cloud Shell也有limits -您只能每周使用60个小时,如果闲置,会话将被终止,并且只有5GB的存储空间。它也只是一个f1微型实例IIRC。因此,尽管它是为您提供的(并且是免费的!),但除了交互式shell之外,它实际上并没有其他用途。

另一方面,通过SSH进入VM,您可以直接将其置于该VM上的终端中,就像在任何特定主机上一样—您仅拥有安装在该VM上的映像所提供的任何工具(并且有许多VM裸露的骨头,取决于图片)。但是,您现在位于主机上的一个终端中,该终端可能正在执行您要使用的代码,并且它具有与该实例中相同的CPU和RAM。

就引导您将一个或另一个指向您的要求而言–确实由他们决定,但我怀疑他们会将客户端/工具类型指向云外壳(因为其简单易用的标准环境,甚至是scripted with tutorials),而他们可能会指出如何将用于生产的必要软件安装到“真实” VM。