Apache Brooklyn 应用程序使用 REST 启动 API
Apache Brooklyn Application Launch using REST API
我们可以通过传递 YAML 文档使用 Brooklyn REST API 启动 VM 吗?
示例 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
必须是布鲁克林机器可以访问的 URL,如果它是 运行 远程当然不会访问您机器上的私钥.假设您不想将您的私钥放在 public 可访问 URL :) 您有两个选择。
添加私钥数据配置
配置密钥 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
Brooklyn after 0.7.0-M2-incubating
版本将尝试推断 public 关键数据,但如果您使用 0.7.0-M2
或推断是不工作你也可以提供 publicKeyData
.
添加额外的 Public 密钥 URLs
让您的私钥不需要与 Brooklyn 服务器共享的更好机制是让 Brooklyn 生成自己的凭据以连接到机器,但告诉它安装您的 public 密钥另外作为一个 authorized_keys
,这样你就可以连接了。配置键 extraSshPublicKeyUrls
需要一个 URL 的字符串列表,所以你所要做的就是把你的 public 在线密钥(这比将您的私钥在线更安全!)。
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 才能使用此功能。
我们可以通过传递 YAML 文档使用 Brooklyn REST API 启动 VM 吗?
示例 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
必须是布鲁克林机器可以访问的 URL,如果它是 运行 远程当然不会访问您机器上的私钥.假设您不想将您的私钥放在 public 可访问 URL :) 您有两个选择。
添加私钥数据配置
配置密钥 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
Brooklyn after 0.7.0-M2-incubating
版本将尝试推断 public 关键数据,但如果您使用 0.7.0-M2
或推断是不工作你也可以提供 publicKeyData
.
添加额外的 Public 密钥 URLs
让您的私钥不需要与 Brooklyn 服务器共享的更好机制是让 Brooklyn 生成自己的凭据以连接到机器,但告诉它安装您的 public 密钥另外作为一个 authorized_keys
,这样你就可以连接了。配置键 extraSshPublicKeyUrls
需要一个 URL 的字符串列表,所以你所要做的就是把你的 public 在线密钥(这比将您的私钥在线更安全!)。
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 才能使用此功能。