如何在另一个节点上启动LXD容器并与容器交换ssh密钥? 也就是说,如何使用SSH让Ansible直接访问LXD容器?
我知道authorized_key模块但是这只会在主机和Ansible之间交换密钥而不是Ansible和LXD容器。
请参阅下图,其中描述了机器布局:
+----------------------------+ +----------------------------+
| | | |
| Baremetal Machine <------------------+ Ansible Machine |
| + | | |
| | | | |
| | | | |
| | | | |
| +--------------------+ | | |
| | | | | | |
| | v | | | |
| | LXD Container | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +--------------------+ | | |
| | | |
+----------------------------+ +----------------------------+
答案 0 :(得分:3)
从支持某种配置系统的图像启动容器 最常见的是cloud-init - 它已经存在于许多官方云图像中。
创建此类容器时,只需通过user.user-data
配置选项添加所需的配置设置,它将在容器启动时自动应用。
lxd_container模块支持config
参数,用于设置容器configuration options。
您可以找到有用的云配置示例here。