tansudasli.gcp_instances
Nombre del Rol
Provisionar instancia(s) de cómputo en GCP con requisitos de grado de producción.
- instancia(s)
- disco de arranque dedicado
- disco dedicado para datos y registros
- una IP estática
Requisitos
- cliente de ansible
- archivo ansible.cfg
- cuenta de servicio y cuenta de GCP
Variables del Rol
El rol, por defecto, soporta la provisión independiente. Si deseas una provisión distribuida, puedes proporcionar más nodos, con la convención de nombres apropiada, como una lista en tu archivo yaml en ejecución.
defaults/main.yml,
# proyecto GCP
general:
project: sandbox-236618 # ID del proyecto GCP
region: europe-west4 # región GCP
auth_kind: serviceaccount
service_account_file: ~/.ssh/ansible.json
scopes:
- https://www.googleapis.com/auth/compute
# diseña la arquitectura de tu infraestructura
nodes:
- name: standalone-node # nombre del nodo, por ejemplo, standalone-node/nombre-nodo/nombre-secundario/nodo-datos1/nodo-datos2..
zone: europe-west4-a # elige regiones cercanas, distribuye a otros nodos
machine_type: f1-micro # aumenta cuando sea necesario
ips:
- nic:
name: "ip-01"
tags: hadoop # etiquetas de red utilizadas por regla de firewall. Usa el nombre de la herramienta como hadoop, elasticsearch ...
labels: # filtrado. Usa el nombre de la herramienta como tipo + maestro/trabajador como nombre
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 es mejor para casos de uso en producción
boot: false
- disk:
name: "log-disk-01"
size: 300
auto_delete: true # false es mejor para casos de uso en producción
boot: false
Dependencias
n/a
Ejemplo de Playbook
Haz clic para probar y ver ejemplos de playbooks.
ansible.cfg
[defaults]
host_key_checking = False
inventory = hosts
remote_user = tansudasli # tu cuenta de GCP
private_key_file = ~/.ssh/google_compute_engine # Si está configurado, siempre utiliza esto para autenticación
[inventory]
# Lista de plugins de inventario habilitados y el orden en el que se usan.
enable_plugins = host_list, script, yaml, ini, auto, gcp_compute
provision.yaml
- name: Crear Instancia(s) de Cómputo
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:
# ejecuta con valores var predeterminados
- role: tansudasli.gcp_instances
Licencia
Apache-2.0
Información del Autor
Acerca del proyecto
Provisions compute instance(s) on GCP with production grade requirements.
Instalar
ansible-galaxy install tansudasli.gcp_instances
Licencia
apache-2.0
Descargas
85
Propietario
Ansible role boilerplates to inject into the projects that runs on GCP