Spec-Zone.ru › Ansible 2.8

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.
с параметром state=present, state=present разрешает перезапись существующего контейнера
со состояниями 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 ←
  • запущен
  • отсутствует
  • остановлен
  • перезапущен
Указывает желаемое состояние экземпляра
storage
-
По умолчанию:
"local"
целевой накопитель
swap
-
По умолчанию:
0
размер памяти подкачки в МБ для экземпляра
timeout
-
По умолчанию:
30
таймаут для операций
unprivileged
логический
добавлен в 2.3
    Варианты:
  • нет ←
  • да
Указывает, должен ли контейнер быть без привилегий
validate_certs
логический
    Варианты:
  • нет ←
  • да
включить/отключить проверку сертификатов HTTPS
vmid
-
идентификатор экземпляра
если не задан, будет получен следующий доступный идентификатор VM из ProxmoxAPI.
если не задан, будет получен из ProxmoxAPI на основе имени хоста

Примечания

Примечание

  • Требуются модули 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 with 8GB
- 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

# Start container with mount. You should enter a 90-second timeout because servers with additional disks take longer to boot.
- proxmox:
    vmid: 100
    api_user: root@pam
    api_password: 1q2w3e
    api_host: node1
    state: started
    timeout: 90

# 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: restarted

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

Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом 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.8/modules/proxmox_module.html

Spec-Zone.ru

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