ansible_hcloud_vm

ansible-hcloud-vm

Ansible Role Ansible Quality Score Ansible Role Downloads

Hetzner Cloud

Этот модуль создает одну или несколько виртуальных машин с дополнительными дисками в облаке 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)

О проекте

Role to deploy servers on Hetzner Cloud

Установить
ansible-galaxy install siw36/ansible-hcloud-vm
Лицензия
gpl-3.0
Загрузки
157
Владелец
Platform & DevOps Engineer