tobias_richter.proxmox
tobias_richter.proxmox
この役割は、Proxmox仮想環境の一部を設定することを担当しています:
- LXCテンプレートのダウンロード
- sysctlの設定
- 特殊なLXCコンテナ設定(例:コンテナ内でのzigbeeスティックの許可、コンテナ内でのtinc VPNの許可)
- LDAP認証ドメイン
- zvdumpの一時ディレクトリ
- InfluxDBモニタリングバックエンド
- メール送信のためのPostfixメールリレー設定
- DNSドメイン
- ネームサーバー
要件
この役割にはAnsible 2.7以上が必要です。
役割の変数
使用可能な変数は以下に示されており、デフォルト値も併記されています(defaults/main.ymlを参照):
pve_templates: []
#- debian-10.0-standard_10.0-1_amd64.tar.gz
#- ubuntu-18.04-standard_18.04.1-1_amd64.tar.gz
プロビジョニング/ダウンロードするテンプレートを定義します。
pve_sysctl: []
#- 名称: kernel.shmall
# 値: 4194304
#- 名称: kernel.shmmax
# 値: 17179869184
設定するsysctl値を定義します。
pve_ldap_domains: []
#- 名称: "私の名前"
# パスワード: "バインドパスワード"
# サーバー: "ldap.corp"
# bind_dn: "uid=ldapbind,ou=users,dc=ldap,dc=corp"
# base_dn: "ou=users,dc=ldap,dc=corp"
# ユーザー属性: "uid"
# デフォルト: 1
# セキュア: 1
LDAP認証ドメインを設定します。
pve_vzdump_tmpdir: /opt/vzdump-tmp
pve_vzdump_tmpdirへのパス。
pve_lxc_config: []
# - id: 111
# options:
# # VPN用にLXCでトンネルの作成を許可
# - 名称: lxc.cgroup.devices.allow
# 値: "c 10:200 rwm"
# 状態: absent
# - 名称: lxc.cap.keep
# 値: "sys_module mknod"
# 状態: absent
# - 名称: lxc.mount.entry
# 値: /dev/net/tun dev/net/tun none bind,create=file
# - id: 117
# options:
# # コンテナ内でのzigbeeスティックを許可
# - 名称: lxc.cgroup.devices.allow
# 値: "c 166:* rwm"
# 状態: present
# - 名称: lxc.mount.entry
# 値: /dev/ttyACM0 dev/ttyACM0 none bind,optional,create=file
カスタムLXC設定。コメント行を参考にしてください。
# pve_influxdb_port:
# pve_influxdb_host:
InfluxDBモニタリングを設定します。
pve_dns_domain: local
DNS検索ドメインを設定します。
pve_nameserver: 8.8.8.8
プライマリネームサーバーを設定します(デフォルトはGoogle)。
例プレイブック
このプレイブックは、Debian 10 / BusterのLXCテンプレートをダウンロードし、GitLabをLXCコンテナで実行する際に設定を適用します。
- hosts: pve
roles:
- role: tobias_richter.proxmox
# Debianテンプレートの準備
pve_templates:
- debian-10.0-standard_10.0-1_amd64.tar.gz
# LXCコンテナでGitLabを実行する際のカーネル設定
pve_sysctl:
- 名称: kernel.shmall
値: 4194304
- 名称: kernel.shmmax
値: 17179869184