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

tansudasli

Über das Projekt

Provisions compute instance(s) on GCP with production grade requirements.

Installieren
ansible-galaxy install tansudasli.gcp_instances
GitHub Repository
Lizenz
apache-2.0
Downloads
85
Besitzer
Ansible role boilerplates to inject into the projects that runs on GCP