stancel.create-digitalocean-droplet
stworzenie-dropleta-digitalocean
Rola do uruchomienia dropleta DigitalOcean i dodania do niego wpisu DNS, aby można go było uzyskać pod danym adresem URL (zmienna create_digitalocean_droplet_server_fqdn
). Rola doda nowo utworzony serwer do grupy Ansible o nazwie "new_server", która jest wartością hosta, którą powinieneś użyć do zastosowania dodatkowej konfiguracji w kolejnych rolach tego samego playbooka.
Wymagania
Aby skorzystać z tej roli, potrzebujesz następujących elementów:
* Konto DigitalOcean
* Klucz API dla swojego konta DO, przechowywany w zmiennej środowiskowej o nazwie "DO_API_TOKEN"
* Serwery nazw dla głównej domeny, którą dodajesz (server_fqdn), muszą być skierowane na serwery nazw DigitalOcean
* Twoje klucze SSH przesłane do konta DO oraz odciski palców (skrócona wartość MD5) przechowywane w liście zmiennych (ssh_keys)
Zmienna roli
Nazwa hosta Twojego dropleta DigitalOcean. Będzie to ustawione jako nazwa hosta na serwerze VPS, a także będzie widoczne na liście dropletów.
create_digitalocean_droplet_host_name: "my-hostname-here"
Wpis domenowy, dla którego chcesz stworzyć wpis DNS, aby kierował do tego nowo utworzonego dropleta DigitalOcean.
create_digitalocean_droplet_server_fqdn: "mysubdomain.mydomain.com"
Zmienna środowiskowa o nazwie DO_API_TOKEN, która zawiera wartość Twojego klucza API DigitalOcean.
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
Lista odcisków palców SSH, które odpowiadają kluczom SSH przesłanym do Twojego konta DO i które chcesz dodać do tego dropleta w trakcie jego tworzenia, aby umożliwić dostęp. Możesz znaleźć te odciski, wchodząc w ustawienia swojego konta DO, a następnie w zakładkę Bezpieczeństwo, gdzie możesz dodać klucz SSH i skopiować odcisk palca lub skopiować odcisk już przesłanego klucza SSH.
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
- "e4:1d:b2:d1:e1:42:c7:5c:b6:71:75:2b:f4:8d:bf:c7"
Rozmiar dropleta, którego chcesz stworzyć. Domyślny rozmiar to 1 GB.
create_digitalocean_droplet_droplet_size: "1gb"
Obraz dropleta, którego chcesz użyć jako bazowego obrazu dla nowo utworzonego dropleta DigitalOcean. Domyślny obraz to Ubuntu 16.04 LTS (ubuntu-16-04-x64)
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
Region DigitalOcean (centrum danych), w którym chcesz stworzyć swój droplet. Domyślnie to "nyc1"
create_digitalocean_droplet_region: "nyc1"
Zależności
Brak
Przykładowy Playbook
Zamieszczenie przykładu, jak użyć swojej roli (na przykład, z przekazanymi zmiennymi jako parametry) jest miłym ułatwieniem dla użytkowników:
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars_files:
- vars/main.yml
roles:
- { role: stancel.create-digitalocean-droplet }
lub
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars:
create_digitalocean_droplet_host_name: "my-hostname-here"
create_digitalocean_droplet_server_fqdn: "mysubdomain.mydomain.com"
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
create_digitalocean_droplet_droplet_size: "1gb"
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
region: "nyc1"
roles:
- { role: stancel.create-digitalocean-droplet }
Licencja
BSD
Informacje o autorze
Role for creating a DigitalOcean droplet that can then be provisioned accordingly.
ansible-galaxy install stancel.create-digitalocean-droplet