Spec-Zone.ru › Ansible 2.4

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
нет
  • да
  • нет
принудительное выполнение операций
можно использовать только со состояниями present, stopped, restarted
с параметром force можно перезаписать существующий контейнер
со состояниями stopped, restarted позволяет принудительно остановить экземпляр
hostname
нет
имя хоста экземпляра
требуется только для state=present
должен быть уникальным, если не указан vmid
ip_address
нет
указание адреса, который будет назначен контейнеру
memory
нет 512
размер памяти в МБ для экземпляра
mounts
(добавлен в 2.2)
нет
указание дополнительных монтирований (отдельных дисков) для контейнера. В виде словаря точек монтирования
nameserver
нет
устанавливает IP-адрес сервера DNS для контейнера
netif
нет
указание сетевых интерфейсов для контейнера. В виде словаря интерфейсов.
node
нет
Узел Proxmox VE, когда создается новая виртуальная машина
требуется только для state=present
для других состояний будет определено автоматически
onboot
нет
указание того, будет ли виртуальная машина запущена при загрузке системы
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
  • present
  • started
  • absent
  • stopped
  • restarted
Указывает желаемое состояние экземпляра
storage
нет local
целевой хранилище
swap
нет
размер памяти подкачки в МБ для экземпляра
timeout
нет 30
тайм-аут для операций
unprivileged
(добавлен в 2.3)
нет
Указывает, должен ли контейнер быть без привилегий
validate_certs
нет
  • да
  • нет
включить/отключить проверку сертификатов https
vmid
нет
идентификатор экземпляра
если не задан, следующий доступный идентификатор VM будет получен из ProxmoxAPI.
если не указан, будет получен из ProxmoxAPI на основе имени хоста

Примеры

# 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

Примечания

Примечание

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

Статус

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

Для получения помощи в разработке модулей, если вы этого захотите, пожалуйста, ознакомьтесь с Справочной информацией по сообществу и участию, Тестирование Ansible и Разработка модулей.

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

Spec-Zone.ru

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