Google使用jcloud

时间:2017-03-01 04:09:22

标签: google-compute-engine jclouds

我正在尝试使用jclouds从java代码启动谷歌计算实例。它主要是工作,但是我想使用我定义的项目范围的SSH密钥,而不是让jclouds生成新的用户/密钥凭证。

根据自述文件 - https://github.com/apache/jclouds/tree/master/providers/google-compute-engine

  

对于要成为ssable的实例,必须执行以下操作之一:1 - 项目的元数据具有充分构建的“sshKeys”条目,并且在调用createNodesInGroup时,GoogleComputeEngineTemplateOptions中提供了相应的私钥。 2 - 提供具有足够公钥和私钥的GoogleComputeEngineTemplateOptions实例。

我正在努力做1)。我已经正确配置了项目的元数据(我可以使用它连接到没有jclouds生成的凭据的手动创建的实例),但我无法弄清楚如何将该密钥提供给GoogleComputeEngineTemplateOptions?

既不 GoogleComputeEngineTemplateOptions.Builder.installPrivateKey(String key)GoogleComputeEngineTemplateOptions.Builder.overrideLoginPrivateKey(String key)似乎有用。

文档很稀疏 - 有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

如果您不提供密钥,jclouds将默认创建密钥。您可以使用以下命令提供auth私钥,并告诉jclouds不要生成新的私钥:

TemplateOptions opts = computeService.templateOptions()
    .as(GoogleComputeEngineTemplateOptions.class)
    .overrideLoginPrivateKey(privateKey)
    .autoCreateKeyPair(false);