tansudasli.gcp_instances
Rollenname
Stellen Sie Compute-Instanz(en) auf GCP mit Produktionsanforderungen bereit.
- Instanz(en)
- dedizierte Boot-Disk
- dedizierte Daten- und Protokolldisk
- eine statische IP
Anforderungen
- ansible Client
- ansible.cfg Datei
- Dienstkonto und GCP-Konto
Rollenvariablen
Die Rolle unterstützt standardmäßig die eigenständige Bereitstellung. Wenn Sie eine verteilte Bereitstellung wünschen, können Sie weitere Knoten mit einer geeigneten Namenskonvention in Ihrer laufenden YAML-Datei angeben.
defaults/main.yml,
# GCP-Projekt
general:
project: sandbox-236618 # GCP-Projekt-ID
region: europe-west4 # GCP-Region
auth_kind: dienstkonto
service_account_file: ~/.ssh/ansible.json
scopes:
- https://www.googleapis.com/auth/compute
# Gestalten Sie Ihre Infrastrukturarchitektur
nodes:
- name: standalone-node # Knotenname wie standalone-node/name-node/secondary-name-node/data-node1/data-node2 ..
zone: europe-west4-a # Wählen Sie nahegelegene Regionen, verteilen Sie auf andere Knoten
machine_type: f1-micro # Bei Bedarf erhöhen
ips:
- nic:
name: "ip-01"
tags: hadoop # Netzwerk-Tags, die von FW-Regeln verwendet werden! Verwenden Sie den Toolnamen wie hadoop, elasticsearch ...
labels: # Filterung! Verwenden Sie den Toolnamen als Typ + master/worker als Namen
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 ist besser für Produktionsfälle
boot: false
- disk:
name: "log-disk-01"
size: 300
auto_delete: true # false ist besser für Produktionsfälle
boot: false
Abhängigkeiten
keine
Beispiel-Playbook
Hier klicken, um es zu testen und Beispiels-Playbooks zu sehen.
ansible.cfg
[defaults]
host_key_checking = False
inventory = hosts
remote_user = tansudasli # Ihr GCP-Konto
private_key_file = ~/.ssh/google_compute_engine # Wenn festgelegt, wird dies immer für die Authentifizierung verwendet
[inventory]
# Liste der aktivierten Inventar-Plugins und die Reihenfolge, in der sie verwendet werden.
enable_plugins = host_list, script, yaml, ini, auto, gcp_compute
provision.yaml
- name: Compute-Instanz(en) erstellen
hosts: localhost
gather_facts: no
vars:
general:
project: sandbox-236618
region: europe-west4
auth_kind: dienstkonto
service_account_file: ~/.ssh/ansible.json
scopes:
- https://www.googleapis.com/auth/compute
tasks:
roles:
# Ausführen mit Standardwerten
- role: tansudasli.gcp_instances
Lizenz
Apache-2.0
Autoreninformation
Über das Projekt
Provisions compute instance(s) on GCP with production grade requirements.
Installieren
ansible-galaxy install tansudasli.gcp_instances
Lizenz
apache-2.0
Downloads
85
Besitzer
Ansible role boilerplates to inject into the projects that runs on GCP