ansible_hcloud_vm
ansible-hcloud-vm
Этот модуль создает одну или несколько виртуальных машин с дополнительными дисками в облаке Hetzner.
Что происходит:
- У вас в аккаунте будет создан указанный SSH-ключ.
- Список серверов будет создан с доступом для указанного SSH-ключа как root (если вы используете образы Hetzner).
- Для каждого сервера будет создан список томов, и эти тома будут присоединены к соответствующему серверу.
Текущие проблемы с модулем/API:
Когда вы удаляете сервер и сразу после этого удаляете тома, которые были присоединены к серверу, API сообщает, что эти тома все еще присоединены к серверу и не могут быть удалены.
Это происходит, когда вы запускаете этот модуль и устанавливаете состояние сервера в absent
, а также устанавливаете состояние тома, который был или есть прикрепленным к серверу, в absent
.
Получите этот модуль
ansible-galaxy install --roles-path ./roles/ siw36.ansible_hcloud_vm
Требования
- Модуль Python:
hcloud
(Этот модуль будет автоматически установлен в директорию модуля Python пользователя)
Переменные модуля
Название | Описание | Значение по умолчанию |
---|---|---|
getInfoOnly | Получить возможные значения для типа сервера, образа и расположения. Информация будет напечатана, когда эта переменная установлена в true. | false |
hcloudBearer | Ваш API-ключ Hetzner Cloud. Его можно найти в вашем проекте в вкладке SSH-ключи. | <нет – __необходимо установить__> |
sshKey | Словарь, содержащий информацию о SSH-ключе root | <нет – __необходимо установить__> |
deployments | Список развертываний и их дисков | <нет – __необходимо установить__> |
Смотрите пример ниже для деталей о том, как указывать переменные
Пример Playbook
playbook.yml:
- hosts: localhost
become: false
gather_facts: false
roles:
- siw36.ansible_hcloud_vm
roles/siw36.ansible_hcloud_vm/vars/main.yml
#getInfoOnly: false
hcloudBearer: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sshKey:
name: root
value: ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx root
state: present
deployments:
- name: test0.nodes.replicas.io
state: absent # (present|started|stopped|restarted|absent|rebuild)
size: cx11
location: hel1
image: centos-7
backup: false
sshKeys:
- siw
labels:
project: replicas.io
stage: prod
location: helsinki
volumes:
- name: test0.nodes.replicas.io-data0
state: absent # (present|absent)
size: 10
automount: true
format: xfs # (xfs|ext4)
Лицензия
GNU General Public License v3.0
Информация об авторе
Создано Робином 'siw36' Клуссманом (07/2019)
Установить
ansible-galaxy install siw36/ansible-hcloud-vm
Лицензия
gpl-3.0
Загрузки
145
Владелец
Platform & DevOps Engineer