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

@chouseknecht

Acerca del proyecto

Install Google Cloud SDK and kubectl

Instalar
ansible-galaxy install ansible.install-gcloud
Licencia
mit
Descargas
5.1k
Propietario