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: []
#- name: kernel.shmall
# value: 4194304
#- name: kernel.shmmax
# value: 17179869184
定义要配置的sysctl值。
pve_ldap_domains: []
#- name: "我的名字"
# password: "绑定密码"
# server: "ldap.corp"
# bind_dn: "uid=ldapbind,ou=users,dc=ldap,dc=corp"
# base_dn: "ou=users,dc=ldap,dc=corp"
# user_attr: "uid"
# default: 1
# secure: 1
配置ldap身份验证域。
pve_vzdump_tmpdir: /opt/vzdump-tmp
pve_vzdump_tmpdir的路径。
pve_lxc_config: []
# - id: 111
# options:
# # 允许在lxc上创建隧道以进行VPN
# - name: lxc.cgroup.devices.allow
# value: "c 10:200 rwm"
# state: absent
# - name: lxc.cap.keep
# value: "sys_module mknod"
# state: absent
# - name: lxc.mount.entry
# value: /dev/net/tun dev/net/tun none bind,create=file
# - id: 117
# options:
# # 允许在容器中使用zigbee设备
# - name: lxc.cgroup.devices.allow
# value: "c 166:* rwm"
# state: present
# - name: lxc.mount.entry
# value: /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模板并应用配置,适用于您希望在lxc容器中运行GitLab的情况。
- hosts: pve
roles:
- role: tobias_richter.proxmox
# 准备Debian模板
pve_templates:
- debian-10.0-standard_10.0-1_amd64.tar.gz
# 在lxc容器中运行GitLab时的内核配置
pve_sysctl:
- name: kernel.shmall
value: 4194304
- name: kernel.shmmax
value: 17179869184