Spec-Zone.ru › Ansible 2.6

proxmox - управление экземплярами в кластере Proxmox VE

Новая версия с 2.0.

  • Обзор
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Статус
  • Техническое обслуживание
    • Автор

Обзор

  • позволяет создавать/удалять/останавливать экземпляры в кластере Proxmox VE
  • Начиная с Ansible 2.1, автоматически определяет тип контейнеризации (lxc для PVE 4, openvz для более старых)

Требования

Ниже приведены требования к хосту, на котором выполняется этот модуль.

  • proxmoxer
  • python >= 2.7
  • requests

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_host
обязательно
хост кластера Proxmox VE
api_password
пароль для аутентификации
можно использовать переменную окружения PROXMOX_PASSWORD
api_user
обязательно
пользователь для аутентификации
cores
(добавлено в 2.4)
Значение по умолчанию:
1
Укажите количество ядер на сокет.
cpus Значение по умолчанию:
1
количество выделенных процессоров для экземпляра
cpuunits Значение по умолчанию:
1000
Вес процессора для виртуальной машины
disk Значение по умолчанию:
3
размер жесткого диска в ГБ для экземпляра
force
bool
    Варианты:
  • нет ←
  • да
принудительное выполнение операций
может использоваться только с состояниями present, stopped, restarted
с опцией state=present force разрешается перезапись существующего контейнера
со состояниями stopped , restarted разрешается принудительная остановка экземпляра
hostname
имя хоста экземпляра
требуется только для state=present
должно быть уникальным, если vmid не указан
ip_address
устанавливает адрес, который будет назначен контейнеру
memory Значение по умолчанию:
512
размер оперативной памяти в МБ для экземпляра
mounts
(добавлено в 2.2)
устанавливает дополнительные точки монтирования (отдельные диски) для контейнера. В виде хеша/словаря, определяющего точки монтирования
nameserver
устанавливает IP-адрес сервера DNS для контейнера
netif
устанавливает сетевые интерфейсы для контейнера. В виде хеша/словаря, определяющего интерфейсы.
node
Узел Proxmox VE, когда создается новая виртуальная машина
требуется только для state=present
для других состояний будет автоматически обнаружен
onboot
bool
    Варианты:
  • нет ←
  • да
указывает, будет ли виртуальная машина запущена во время загрузки системы
ostemplate
шаблон для создания виртуальной машины
требуется только для state=present
password
корневой пароль экземпляра
требуется только для state=present
pool
(добавлено в 2.3)
пул ресурсов Proxmox VE
pubkey
(добавлено в 2.3)
открытый ключ для добавления в /root/.ssh/authorized_keys. Добавлено в Proxmox 4.2, игнорируется для более ранних версий
searchdomain
устанавливает домен поиска DNS для контейнера
state
    Варианты:
  • present ←
  • запущен
  • отсутствует
  • остановлен
  • перезапущен
Указывает желаемое состояние экземпляра
storage Значение по умолчанию:
"local"
целевой хранилище
swap Значение по умолчанию:
0
размер памяти подкачки в МБ для экземпляра
timeout Значение по умолчанию:
30
таймаут для операций
unprivileged
bool

(добавлено в 2.3)
    Варианты:
  • нет ←
  • да
указывает, должен ли контейнер быть не привилегированным
validate_certs
bool
    Варианты:
  • нет ←
  • да
включить/выключить проверку сертификатов https
vmid
идентификатор экземпляра
если не задан, следующий доступный идентификатор виртуальной машины будет получен из ProxmoxAPI.
если не задан, будет получен из PromoxAPI на основе имени хоста

Примечания

Примечание

  • Требуются модули proxmoxer и requests на хосте. Эти модули можно установить с помощью pip.

Примеры

# Create new container with minimal options
- proxmox:
    vmid: 100
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    password: 123456
    hostname: example.org
    ostemplate: 'local:vztmpl/ubuntu-14.04-x86_64.tar.gz'

# Create new container automatically selecting the next available vmid.
- proxmox:
    node: 'uk-mc02'
    api_user: 'root@pam'
    api_password: '1q2w3e'
    api_host: 'node1'
    password: '123456'
    hostname: 'example.org'
    ostemplate: 'local:vztmpl/ubuntu-14.04-x86_64.tar.gz'

# Create new container with minimal options with force(it will rewrite existing container)
- proxmox:
    vmid: 100
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    password: 123456
    hostname: example.org
    ostemplate: 'local:vztmpl/ubuntu-14.04-x86_64.tar.gz'
    force: yes

# Create new container with minimal options use environment PROXMOX_PASSWORD variable(you should export it before)
- proxmox:
    vmid: 100
    node: uk-mc02
    api_user: root@pam
    api_host: node1
    password: 123456
    hostname: example.org
    ostemplate: 'local:vztmpl/ubuntu-14.04-x86_64.tar.gz'

# Create new container with minimal options defining network interface with dhcp
- proxmox:
    vmid: 100
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    password: 123456
    hostname: example.org
    ostemplate: 'local:vztmpl/ubuntu-14.04-x86_64.tar.gz'
    netif: '{"net0":"name=eth0,ip=dhcp,ip6=dhcp,bridge=vmbr0"}'

# Create new container with minimal options defining network interface with static ip
- proxmox:
    vmid: 100
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    password: 123456
    hostname: example.org
    ostemplate: 'local:vztmpl/ubuntu-14.04-x86_64.tar.gz'
    netif: '{"net0":"name=eth0,gw=192.168.0.1,ip=192.168.0.2/24,bridge=vmbr0"}'

# Create new container with minimal options defining a mount
- proxmox:
    vmid: 100
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    password: 123456
    hostname: example.org
    ostemplate: local:vztmpl/ubuntu-14.04-x86_64.tar.gz'
    mounts: '{"mp0":"local:8,mp=/mnt/test/"}'

# Create new container with minimal options defining a cpu core limit
- proxmox:
    vmid: 100
    node: uk-mc02
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    password: 123456
    hostname: example.org
    ostemplate: local:vztmpl/ubuntu-14.04-x86_64.tar.gz'
    cores: 2

# Start container
- proxmox:
    vmid: 100
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    state: started

# Stop container
- proxmox:
    vmid: 100
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    state: stopped

# Stop container with force
- proxmox:
    vmid: 100
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    force: yes
    state: stopped

# Restart container(stopped or mounted container you can't restart)
- proxmox:
    vmid: 100
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    state: stopped

# Remove container
- proxmox:
    vmid: 100
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    state: absent

Статус

Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость интерфейса.

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.

Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.

Автор

  • Сергей Антипов @UnderGreen

Подсказка

Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/proxmox_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API