gpt4 book ai didi

jclouds - 使用 REST API 启动 Apache Brooklyn 应用程序

转载 作者:行者123 更新时间:2023-12-02 01:39:37 27 4
gpt4 key购买 nike

我们可以通过传递 YAML 文档使用 Brooklyn REST API 启动虚拟机吗?

示例 YAML:

name: simple-vm
location:
...
services:
- type: brooklyn.entity.basic.EmptySoftwareProcess
name: VM
provisioning.properties:
user: b-user
privateKeyFile: ~/.ssh/id_b-user
osFamily: Ubuntu

privateKeyFile 会怎样?我们可以将其作为论据传递吗?

最佳答案

是的,您可以通过将 YAML 发布到 /v1/applications 来部署蓝图。

但是 privateKeyFile 必须是 Brooklyn 机器可以访问的 URL,如果它在远程运行,当然不会访问您机器上的私钥。假设您不想将私钥放在可公开访问的 URL :) 您有两个选择。

添加私钥数据配置

配置 key privateKeyData 胜过 privateKeyFile 并允许您指定实际的私钥数据。例如:

name: simple-vm
location: ...
services:
- type: brooklyn.entity.basic.EmptySoftwareProcess
name: VM
provisioning.properties:
user: b-user
privateKeyData: |
-----BEGIN RSA PRIVATE KEY-----
MIIEblahblahblahM1gknxGfMNxsIzi6bdrGPtCS4NKrTIIzi6bdrGPtCS4NKrTI
Izi6bdrGPtCS4NKrTImGqeK0xUFa98WhVS0gHbdX8ebi+RxfOYM5w7NOLlzVzOrE
...
-----END RSA PRIVATE KEY-----
osFamily: Ubuntu

0.7.0-M2-incubating 之后的 Brooklyn 版本将尝试推断公钥数据,但如果您使用的是 0.7.0-M2 或推理不起作用,您还可以提供 publicKeyData

添加额外的公钥 URL

为了让您的私钥不需要与 Brooklyn 服务器共享,更好的机制是让 Brooklyn 生成自己的凭据以连接到机器,但告诉它安装您的公钥作为 authorized_keys ,这样你就可以连接了。配置键 extraSshPublicKeyUrls 接受一个 URL 字符串列表,所以你所要做的就是把你的公钥放在网上(这样更安全而不是将您的私钥放到网上!)。

name: simple-vm
location: ...
services:
- type: brooklyn.entity.basic.EmptySoftwareProcess
name: VM
provisioning.properties:
user: b-user
extraSshPublicKeyUrls:
- http://me.com/my/public/key.pub
osFamily: Ubuntu

这也在 0.7.0-M2-incubating 之后引入,因此您需要获得一个 recent snapshot build。使用此功能。

关于jclouds - 使用 REST API 启动 Apache Brooklyn 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29207790/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com