如何在另一个节点上启动 LXD 容器并与容器交换 ssh 密钥?
How to launch an LXD container on another node and exchange ssh keys with the container?
如何在另一个节点上启动 LXD 容器并与容器交换 ssh 密钥?
即如何让Ansible使用SSH直接访问LXD容器?
我知道 authorized_key 模块,但是这只会在主机和 Ansible 之间交换密钥,而不会在 Ansible 和 LXD 容器之间交换密钥。
机器布局请看下图:
+----------------------------+ +----------------------------+
| | | |
| Baremetal Machine <------------------+ Ansible Machine |
| + | | |
| | | | |
| | | | |
| | | | |
| +--------------------+ | | |
| | | | | | |
| | v | | | |
| | LXD Container | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +--------------------+ | | |
| | | |
+----------------------------+ +----------------------------+
从支持某种配置系统的镜像启动容器。
最常见的是 cloud-init – 它已经存在于许多官方云映像中。
当您创建这样的容器时,只需通过 user.user-data
配置选项添加所需的配置设置,它会在容器启动时自动应用。
lxd_container module support config
parameter to set container configuration options.
您可以找到有用的云配置示例 here。
如何在另一个节点上启动 LXD 容器并与容器交换 ssh 密钥? 即如何让Ansible使用SSH直接访问LXD容器?
我知道 authorized_key 模块,但是这只会在主机和 Ansible 之间交换密钥,而不会在 Ansible 和 LXD 容器之间交换密钥。
机器布局请看下图:
+----------------------------+ +----------------------------+
| | | |
| Baremetal Machine <------------------+ Ansible Machine |
| + | | |
| | | | |
| | | | |
| | | | |
| +--------------------+ | | |
| | | | | | |
| | v | | | |
| | LXD Container | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| +--------------------+ | | |
| | | |
+----------------------------+ +----------------------------+
从支持某种配置系统的镜像启动容器。
最常见的是 cloud-init – 它已经存在于许多官方云映像中。
当您创建这样的容器时,只需通过 user.user-data
配置选项添加所需的配置设置,它会在容器启动时自动应用。
lxd_container module support config
parameter to set container configuration options.
您可以找到有用的云配置示例 here。