tansudasli.gcp_instances
Nazwa roli
Provisioning instancji obliczeniowych na GCP z wymaganiami na poziomie produkcyjnym.
- instancje
- dedykowany dysk rozruchowy
- dedykowany dysk danych i logów
- statyczny adres IP
Wymagania
- klient ansible
- plik ansible.cfg
- konto usługi i konto GCP
Zmienne roli
Rola domyślnie wspiera samodzielne provisionowanie. Jeśli chcesz rozproszone provisionowanie, możesz dodać więcej węzłów z odpowiednią konwencją nazewnictwa, jako listę w Twoim uruchamianym pliku yaml.
defaults/main.yml,
# Projekt GCP
general:
project: sandbox-236618 # ID projektu GCP
region: europe-west4 # region GCP
auth_kind: serviceaccount
service_account_file: ~/.ssh/ansible.json
scopes:
- https://www.googleapis.com/auth/compute
# zaprojektuj swoją architekturę infrastruktury
nodes:
- name: standalone-node # nazwa węzła, np. standalone-node/name-node/secondary-name-node/data-node1/data-node2 ..
zone: europe-west4-a # wybierz bliskie regiony, rozdziel na inne węzły
machine_type: f1-micro # zwiększ, gdy potrzebujesz
ips:
- nic:
name: "ip-01"
tags: hadoop # tagi sieciowe używane przez zasady FW! Użyj nazwy narzędzia, np. hadoop, elasticsearch ...
labels: # filtrowanie! Użyj nazwy narzędzia jako typ + master/worker jako nazwę
type: hdfs
name: master
boot_disk:
- disk:
name: "boot-disk-01"
size: 100
image: "projects/ubuntu-os-cloud/global/images/family/ubuntu-2004-lts"
auto_delete: true
boot: true
additional_disks:
- disk:
name: "data-disk-01"
size: 300
auto_delete: true # false jest lepsze dla przypadków produkcyjnych
boot: false
- disk:
name: "log-disk-01"
size: 300
auto_delete: true # false jest lepsze dla przypadków produkcyjnych
boot: false
Zależności
n/a
Przykładowy playbook
Kliknij aby przetestować i zobaczyć przykładowe playbooki.
ansible.cfg
[defaults]
host_key_checking = False
inventory = hosts
remote_user = tansudasli # twoje konto GCP
private_key_file = ~/.ssh/google_compute_engine # Jeśli ustawione, zawsze używa tego do autoryzacji
[inventory]
# Lista włączonych wtyczek do inwentarza i kolejność, w jakiej są używane.
enable_plugins = host_list, script, yaml, ini, auto, gcp_compute
provision.yaml
- name: Utwórz instancję obliczeniową
hosts: localhost
gather_facts: no
vars:
general:
project: sandbox-236618
region: europe-west4
auth_kind: serviceaccount
service_account_file: ~/.ssh/ansible.json
scopes:
- https://www.googleapis.com/auth/compute
tasks:
roles:
# uruchom z domyślnymi wartościami zmiennych
- role: tansudasli.gcp_instances
Licencja
Apache-2.0
Informacje o autorze
O projekcie
Provisions compute instance(s) on GCP with production grade requirements.
Zainstaluj
ansible-galaxy install tansudasli.gcp_instances
Licencja
apache-2.0
Pobrania
85
Właściciel
Ansible role boilerplates to inject into the projects that runs on GCP