2017-03-01 5 views
0

jclouds를 사용하여 자바 코드에서 Google 계산 인스턴스를 시작하려고합니다. 대부분 작동하지만, jclouds가 새로운 사용자/키 신임장을 생성하는 대신 정의한 프로젝트 전반의 SSH 키를 사용하고 싶습니다.Google에서 jclouds를 사용하여 프로젝트 전체 SSH 키를 계산합니다.

여기 README에 따르면 - 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)이 아닌 것으로 보입니다.

문서가 꽤 희박합니다. 누구나 어떻게 할 수 있는지 알고 있습니까?

답변

0

jclouds는 키를 제공하지 않으면 기본적으로 키를 생성합니다. 다음을 사용하여 인증 개인 키를 제공하고 jclouds에게 새 개인 키를 생성하지 말라고 지시 할 수 있습니다.

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

그 트릭을 마쳤습니다. – bobsyouruncle

관련 문제