ahnooie.lxd-container
LXD 容器 Ansible 角色
此角色用于管理远程 Linux 容器主机上的 LXD/LXC 容器。 https://www.ubuntu.com/containers/lxd
需求
在 LXD 主机和 Ansible 服务器上必须安装 LXD 2.0 或更高版本(Ubuntu 16.04 默认应已安装)
LXD 应该已经在远程主机上通过
sudo lxd init或使用 Ansible 角色如 juju4/lxd 进行了设置为了使 Ansible 能够远程管理 LXD 主机,必须提前运行以下命令:
在远程 LXD 主机上:
$ lxc config set core.https_address [::]:8443
$ lxc config set core.trust_password 替换为安全密码
在 Ansible 主机上:
$ lxc config set core.https_address [::]:8443
$ lxc remote add lxd4 lxd4.example.com
(将 lxd4.example.com 替换为你的 LXD 主机名,'lxd4' 可以随意命名,你需要在清单文件中引用它)
- 已在两个使用 Ubuntu 16.04 LTS 的 LXD 主机和 Ansible 主机上测试(可能适用于其他发行版)
角色变量
这些变量在这里有详细文档:http://docs.ansible.com/ansible/latest/lxd_container_module.html
state:started(默认),stopped,restarted,absent,frozentype:image(默认)mode:pull(默认)server:https://images.linuxcontainers.org(默认)protocol:lxd(默认)alias:ubuntu/xenial/amd64(默认)wait_for_ipv4_addresses:true(默认)timeout:600(默认)
其他变量:
public_key:"{{ lookup('file','~/.ssh/id_rsa.pub') }}"(默认) - 安装在容器中的公钥路径enable_ssh:true(默认) - 在容器中安装并开启 openssh 服务器lxd_host:你的 lxd 容器主机
依赖项
无
安装
$ ansible-galaxy install ahnooie.lxd-container
示例
以下示例将在 lxd4.example.com LXD 主机上安装 6 个不同 Linux 发行版的容器;并在每个主机上安装 Python,为 root 用户添加公钥,安装并启动 sshd 服务。
清单文件示例
# 远程 LXD 主机
[lxd]
lxd4.example.com ansible_user=root
# LXD 主机上的容器
[linux-containers]
ubuntu01.example.com ansible_host=lxd4:ubuntu01 alias=ubuntu/xenial/amd64
centos01.example.com ansible_host=lxd4:centos01 alias=centos/7/amd64
centos02.example.com ansible_host=lxd4:centos02 alias=centos/6/amd64
debian01.example.com ansible_host=lxd4:debian01 alias=debian/stretch/amd64
fedora01.example.com ansible_host=lxd4:fedora01 alias=fedora/27/amd64
[linux-containers:vars]
ansible_connection=lxd
lxd_host=lxd4.example.com
Playbook 示例 containers.yml
---
- hosts: linux-containers
gather_facts: false
vars:
public_key: "{{ lookup('file','public_keys/id_rsa.pub') }}"
roles:
- ahnooie.lxd-container
Playbook 命令示例
$ ansible-playbook -i inventory containers.yml
许可证
MIT
作者信息
由 Benjamin Bryan 创建
安装
ansible-galaxy install ahnooie.lxd-container许可证
mit
下载
206
拥有者
