0

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

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

请参见下图,该图描述了机器布局:

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

1 回答 1

3

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

当您创建这样的容器时,只需通过user.user-dataconfig 选项添加所需的配置设置,它将在容器启动时自动应用。

lxd_container模块支持config参数设置容器配置选项

您可以在此处找到有用的云配置示例。

于 2017-06-23T07:11:23.613 回答