tansudasli.gcp_instances
Nom du rôle
Provisionner une ou plusieurs instances de calcul sur GCP avec des exigences de niveau production.
- instance(s)
- disque de démarrage dédié
- disque de données et de journaux dédié
- une adresse IP statique
Exigences
- client ansible
- fichier ansible.cfg
- compte de service et compte GCP
Variables du rôle
Le rôle prend en charge par défaut le provisionnement autonome. Si vous souhaitez un provisionnement distribué, vous pouvez fournir plus de nœuds, avec une convention de nommage appropriée, sous forme de liste dans votre fichier yaml en cours d'exécution.
defaults/main.yml,
# Projet GCP
general:
project: sandbox-236618 # ID du projet GCP
region: europe-west4 # région GCP
auth_kind: serviceaccount
service_account_file: ~/.ssh/ansible.json
scopes:
- https://www.googleapis.com/auth/compute
# Concevez votre architecture d'infrastructure
nodes:
- name: standalone-node # nom du nœud tel que standalone-node/name-node/secondary-name-node/data-node1/data-node2 ..
zone: europe-west4-a # choisissez des régions proches, distribuez à d'autres nœuds
machine_type: f1-micro # augmenter si nécessaire
ips:
- nic:
name: "ip-01"
tags: hadoop # balises réseau utilisées par les règles FW ! Utilisez le nom de l'outil comme hadoop, elasticsearch ...
labels: # filtrage ! Utilisez le nom de l'outil comme type + master/worker comme nom
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 est préférable pour les cas d'utilisation en production
boot: false
- disk:
name: "log-disk-01"
size: 300
auto_delete: true # false est préférable pour les cas d'utilisation en production
boot: false
Dépendances
n/a
Exemple de Playbook
Click pour tester et voir des exemples de playbooks.
ansible.cfg
[defaults]
host_key_checking = False
inventory = hosts
remote_user = tansudasli # votre compte GCP
private_key_file = ~/.ssh/google_compute_engine # Si défini, utilise toujours ceci pour l'authentification
[inventory]
# Liste des plugins d'inventaire activés et l'ordre dans lequel ils sont utilisés.
enable_plugins = host_list, script, yaml, ini, auto, gcp_compute
provision.yaml
- name: Créer des instances de calcul
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:
# exécuter avec les valeurs par défaut
- role: tansudasli.gcp_instances
Licence
Apache-2.0
Informations sur l'auteur
À propos du projet
Provisions compute instance(s) on GCP with production grade requirements.
Installer
ansible-galaxy install tansudasli.gcp_instances
Licence
apache-2.0
Téléchargements
85
Propriétaire
Ansible role boilerplates to inject into the projects that runs on GCP