如何在另一个节点上启动LXD容器并与容器交换ssh密钥?

时间:2017-06-23 01:17:31

标签: ansible lxd

如何在另一个节点上启动LXD容器并与容器交换ssh密钥? 也就是说,如何使用SSH让Ansible直接访问LXD容器?

我知道authorized_key模块但是这只会在主机和Ansible之间交换密钥而不是Ansible和LXD容器。

请参阅下图,其中描述了机器布局:

+----------------------------+        +----------------------------+
|                            |        |                            |
|     Baremetal Machine  <------------------+ Ansible Machine      |
|              +             |        |                            |
|              |             |        |                            |
|              |             |        |                            |
|              |             |        |                            |
|   +--------------------+   |        |                            |
|   |          |         |   |        |                            |
|   |          v         |   |        |                            |
|   |    LXD Container   |   |        |                            |
|   |                    |   |        |                            |
|   |                    |   |        |                            |
|   |                    |   |        |                            |
|   |                    |   |        |                            |
|   |                    |   |        |                            |
|   |                    |   |        |                            |
|   |                    |   |        |                            |
|   |                    |   |        |                            |
|   +--------------------+   |        |                            |
|                            |        |                            |
+----------------------------+        +----------------------------+

1 个答案:

答案 0 :(得分:3)

从支持某种配置系统的图像启动容器 最常见的是cloud-init - 它已经存在于许多官方云图像中。

创建此类容器时,只需通过user.user-data配置选项添加所需的配置设置,它将在容器启动时自动应用。

lxd_container模块支持config参数,用于设置容器configuration options

您可以找到有用的云配置示例here