ansible.install-gcloud
Instalar gcloud
Se utiliza para instalar el SDK de Google Cloud y sus componentes, incluyendo la CLI kubectl de Kubernetes. Si estás implementando cosas en Kubernetes, este rol es para ti, ya que automatizará la instalación de la CLI en tus hosts de desarrollo y despliegue.
Determinar qué Archivo Instalar
El nombre del archivo que se va a instalar debe determinarse antes de ejecutar este rol. Desafortunadamente, no hay una forma automatizada para determinar el nombre del archivo. No puedes instalar el SDK a través de los administradores de paquetes típicos. En su lugar, ve a la página web del SDK y encuentra el archivo que se ajuste a tu sistema. Una vez que tengas el nombre del archivo, colócalo en este rol.
Instalar el Archivo
Este rol puede descargar el archivo en los hosts objetivo y realizar la instalación O puedes tener el archivo ya descargado y disponible en el host de Ansible, en cuyo caso el rol copia el archivo a los hosts objetivo y lo instala. Para descargar e instalar, proporciona gcloud_archive_name. Para copiar e instalar, proporciona gcloud_archive_path.
¿Dónde se instalan los componentes?
El instalador de Google no intenta enlazar o copiar los ejecutables a /usr/local/bin o a un directorio bin que sea parte del entorno PATH. En cambio, los ejecutables de los componentes se encuentran en {{ gcloud_install_path }}/bin. Si deseas agregar enlaces o copiar archivos a un directorio bin, agrega tareas adicionales a tu playbook después de ejecutar el rol.
El proceso de instalación actualizará un script de inicio de sesión para agregar {{ gcloud_install_path }}/bin al entorno PATH. Si deseas este comportamiento, deja gcloud_update_path en verdadero. El instalador intenta actualizar el script de inicio de sesión predeterminado para el usuario. Para actualizar un script específico, establece el valor de gcloud_profile_path.
¿Qué componentes están disponibles?
Usa el valor del ID del componente en gcloud_additional_components y gcloud_override_components para controlar qué componentes se instalarán.
Nombre del Componente | ID del Componente | Tamaño |
---|---|---|
Emulador de Cloud Datastore | cloud-datastore-emulator | 15.9 MiB |
Emulador de Cloud Datastore (Legado) | gcd-emulator | 38.1 MiB |
Emulador de Cloud Pub/Sub | pubsub-emulator | 10.8 MiB |
Comandos Alpha de gcloud | alpha | < 1 MiB |
Comandos Beta de gcloud | beta | < 1 MiB |
Extensiones de Java de gcloud app | app-engine-java | 131.0 MiB |
Extensiones de PHP de gcloud app (Mac OS X) | app-engine-php-darwin | 21.9 MiB |
Extensiones de Python de gcloud app | app-engine-python | 7.2 MiB |
Herramienta de Línea de Comando de BigQuery | bq | < 1 MiB |
Bibliotecas Principales del SDK de Cloud | core | 4.1 MiB |
Herramienta de Línea de Comando de Cloud Storage | gsutil | 2.6 MiB |
Conjunto predeterminado de comandos gcloud | gcloud | |
kubectl | kubectl | 8.1 MiB |
Requisitos
El host objetivo requiere:
- tar
Y, por supuesto, si pretendes descargar el archivo, el host objetivo necesitará acceso al mundo exterior.
Variables del Rol
gcloud_archive_name
Predeterminado a ''. Si se establece, el archivo se descargará de Google en el host objetivo. Establecer el nombre de un archivo de archivo. Ejemplo: google-cloud-sdk-114.0.0-darwin-x86_64.tar.gz. Visita la página del SDK para encontrar el nombre del archivo para tu sistema.
gcloud_archive_path
Predeterminado a ''. Ruta al archivo de archivo de gcloud en el host de Ansible. Si está definido, el archivo se copiará al host objetivo.
gcloud_tmp_path
Predeterminado a /tmp. Establecer la ruta donde el archivo puede ser colocado temporalmente.
gcloud_force_download
Predeterminado a sí. Al descargar el archivo, siempre realizar la descarga, incluso si el archivo ya existe en {{ glcloud_tmp_path }}.
gcloud_install_path
Predeterminado a "{{ ansible_env.HOME }}". Ruta en el host objetivo para colocar los archivos desarchivados.
gcloud_usage_reporting
Predeterminado a no. ¿Habilitar el reporte de uso?
gcloud_profile_path
Predeterminado a '~/.profile'. Ruta al script de inicio de sesión que será actualizado por el instalador.
gcloud_command_completion
Predeterminado a sí. ¿Habilitar la finalización de comandos estilo bash en el script de inicio de sesión?
gcloud_update_path
Predeterminado a sí. ¿Actualizar la variable de entorno PATH dentro del script de inicio de sesión?
gcloud_override_components
Predeterminado a []. Sobrescribir los componentes que se instalarán e instalar estos en su lugar.
gcloud_additional_components
Predeterminado a [kubectl]. Componentes adicionales a instalar. Se agregarán a la lista de instalación predeterminada o a la lista de componentes sobrescritos (si se proporciona).
Ejemplo de Playbook
Aquí hay un ejemplo de playbook que ejecuta nuestro rol:
- name: Crear ruta de instalación temporal
hosts: localhost
connection: local
gather_facts: no
tasks:
- name: Crear una ruta temporal
file:
path: "/tmp/install_gcloud"
state: directory
mode: 0777
- name: Ejecutar la instalación
hosts: localhost
connection: local
gather_facts: yes # Ejecutar gather_facts para definir ansible_env.HOME
roles:
- role: role-install-gcloud
gcloud_tmp_path: /tmp/install_gcloud
gcloud_archive_name: google-cloud-sdk-114.0.0-darwin-x86_64.tar.gz
- name: Eliminar ruta de instalación temporal
hosts: localhost
connection: local
gather_facts: no
tasks:
- name: Eliminar la ruta temporal
file:
path: "/tmp/install_gcloud"
state: absent
Licencia
MIT
Autores
ansible-galaxy install ansible.install-gcloud