ahnooie.lxd-container
LXDコンテナAnsibleロール
このロールは、リモートLinuxコンテナホスト上のLXD/LXCコンテナを管理します。 https://www.ubuntu.com/containers/lxd
要件
LXD 2.0以上がLXDホストとAnsibleサーバーにインストールされている必要があります(Ubuntu 16.04にはデフォルトでインストールされています)。
リモートホストで
sudo lxd initを使用するか、juju4/lxdのようなAnsibleロールを使って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') }}"(デフォルト) - コンテナにインストールする公開sshキーのパスenable_ssh:true(デフォルト) - コンテナ内にopensshサーバーをインストールし、有効にします。lxd_host:あなたのLXDコンテナホスト
依存関係
なし
インストール
$ ansible-galaxy install ahnooie.lxd-container
例
以下の例では、lxd4.example.com LXDホストにさまざまなLinuxディストリビューションの6つのコンテナをインストールし、それぞれのホストにPythonをインストールし、rootユーザーのために公開sshキーを追加し、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
プレイブックの例 containers.yml
---
- hosts: linux-containers
gather_facts: false
vars:
public_key: "{{ lookup('file','public_keys/id_rsa.pub') }}"
roles:
- ahnooie.lxd-container
プレイブックコマンドの例
$ ansible-playbook -i inventory containers.yml
ライセンス
MIT
作成者情報
Benjamin Bryan によって作成されました。
インストール
ansible-galaxy install ahnooie.lxd-containerライセンス
mit
ダウンロード
206
所有者
