我只是想将GCP
用于云计算。到目前为止,我一直在使用AWS
和boto3
库,并尝试使用google python客户端API启动实例。
所以我遇到的一个例子是他们的文档here。实例机器类型指定为:
machine_type = "zones/%s/machineTypes/n1-standard-1" % zone
然后将其传递给配置为:
config = {
'name': name,
'machineType': machine_type,
....
我不知道如何从python API中指定具有GPU,自定义RAM和处理器等的计算机?
Python API基本上是REST API的包装,因此在您使用的示例代码中,使用与insert request中传递的模式相同的模式构建config对象。
阅读该文档表明guestAccelerators
结构与GPU相关。
自定义RAM和CPU更有趣。有一种用于指定自定义机器类型名称的格式(您可以在gcloud documentation中查看该名称以创建机器类型)。格式为:
[GENERATION]自定义-[NUMBER_OF_CPUs]-[RAM_IN_MB]
生成是指预定义名称中的“ n1”或“ n2”。对于n1,此块为空,对于n2,其前缀为“ n2-”。也就是说,尝试使用gcloud似乎表明“ n1-”作为前缀也可以按您期望的方式工作。
因此,对于具有5GB内存的1 CPU n1机器,它将是custom-1-5120
。这就是您将示例中的n1-standard-1
替换为的内容。
您当然要受limits of how to specify a custom machine的约束,例如RAM必须是256MB的倍数。
最后,控制台“创建实例”页面的底部有一个简洁的小功能:
单击相关链接将向您显示创建当时在控制台中定义的计算机所需的确切REST对象,因此了解如何使用特定参数可能非常有用。
您可以使用Compute Engine API创建Compute Engine实例。具体来说,我们可以使用insert API请求。这将在REST请求中接受JSON负载,该负载描述了所需的所需VM实例。在文档中可以找到该请求的完整说明。它包括:
machineType
-不同(通用)机器的规格,包括CPU和内存disks
-要添加的磁盘规格,包括大小和类型guestAccelerators
-GPU要添加的规格一个人也可以为所需的机器结构创建模板描述,并通过命名要使用的模板,从而从代码中抽象出配置细节,并简化为配置,从而简化了实例的创建。
除了使用REST请求(可以从python传递)之外,您还可以从以下位置创建Compute Engine:
GCP Console
-Web界面gcloud
-命令行(我怀疑也可以从Python内部驱动)Deployment Manager
-配置驱动的部署,其中包括Python作为模板语言]Terraform
-用于将基础结构创建为代码环境的流行环境