install-gcloud

Установка gcloud

Используйте для установки Google Cloud SDK и его компонентов, включая kubectl CLI для Kubernetes. Если вы развертываете приложения в Kubernetes, эта роль для вас, так как она автоматизирует установку CLI на ваших хостах разработки и развертывания.

Определение архива для установки

Имя архива для установки должно быть определено до выполнения этой роли. К сожалению, нет автоматического способа определить имя архива. Установить SDK через обычные пакетные менеджеры нельзя. Вместо этого перейдите на веб-сайт SDK и найдите архив, подходящий для вашей системы. Как только вы получите имя архива, вставьте его в эту роль.

Установка архива

Эта роль может скачать архив на целевой хост(ы) и установить его ИЛИ вы можете заранее скачать архив и сделать его доступным на хосте Ansible, в этом случае роль скопирует архив на целевой хост(ы) и установит его. Чтобы скачать и установить, укажите gcloud_archive_name. Чтобы скопировать и установить, укажите gcloud_archive_path.

Где устанавливаются компоненты?

Установщик Google не пытается связать или копировать исполнимые файлы в /usr/local/bin или в директорию bin, которая обычно является частью переменной окружения PATH. Вместо этого исполнимые файлы компонентов находятся в {{ gcloud_install_path }}/bin. Если вы хотите добавить ссылки или скопировать файлы в директорию bin, добавьте дополнительные задачи в ваш плейбук после выполнения роли.

Процесс установки обновит сценарий входа, чтобы добавить {{ gcloud_install_path }}/bin в переменную окружения PATH. Если вы хотите такое поведение, оставьте gcloud_update_path равным true. Установщик попробует обновить сценарий входа по умолчанию для пользователя. Чтобы обновить конкретный сценарий, задайте значение gcloud_profile_path.

Какие компоненты доступны?

Используйте значение идентификатора компонента в gcloud_additional_components и gcloud_override_components, чтобы контролировать, какие компоненты будут установлены.

Имя компонента Идентификатор компонента Размер
Эмулятор Cloud Datastore cloud-datastore-emulator 15.9 MiB
Эмулятор Cloud Datastore (устаревший) gcd-emulator 38.1 MiB
Эмулятор Cloud Pub/Sub pubsub-emulator 10.8 MiB
Команды gcloud Alpha alpha < 1 MiB
Команды gcloud Beta beta < 1 MiB
Расширения gcloud app для Java app-engine-java 131.0 MiB
Расширения gcloud app для PHP (Mac OS X) app-engine-php-darwin 21.9 MiB
Расширения gcloud app для Python app-engine-python 7.2 MiB
Инструмент командной строки BigQuery bq < 1 MiB
Основные библиотеки Cloud SDK core 4.1 MiB
Инструмент командной строки Cloud Storage gsutil 2.6 MiB
Стандартный набор команд gcloud gcloud
kubectl kubectl 8.1 MiB

Требования

Целевой хост требует:

  • tar

И, конечно, если вы собираетесь скачать архив, целевой хост должен иметь доступ к внешнему миру.

Переменные роли

gcloud_archive_name

По умолчанию ''. Если задано, архив будет скачан с Google на целевой хост. Установите имя файла архива. Пример: google-cloud-sdk-114.0.0-darwin-x86_64.tar.gz. Посетите веб-сайт SDK, чтобы найти имя архива для вашей системы.

gcloud_archive_path

По умолчанию ''. Путь к архиву gcloud на хосте Ansible. Если определено, архив будет скопирован на целевой хост.

gcloud_tmp_path

По умолчанию /tmp. Установите путь, где архив можно временно разместить.

gcloud_force_download

По умолчанию yes. При скачивании архива всегда выполняйте скачивание, даже если архив уже существует в {{ gcloud_tmp_path }}.

gcloud_install_path

По умолчанию "{{ ansible_env.HOME }}". Путь на целевом хосте, куда будут помещены распакованные файлы.

gcloud_usage_reporting

По умолчанию no. Включить отчетность о использовании?

gcloud_profile_path

По умолчанию '~/.profile'. Путь к сценарию входа, который будет обновлен установщиком.

gcloud_command_completion

По умолчанию yes. Включить завершение команд в стиле bash в сценарии входа?

gcloud_update_path

По умолчанию yes. Обновить переменную окружения PATH в сценарии входа?

gcloud_override_components

По умолчанию []. Переопределите компоненты для установки и установите вместо них.

gcloud_additional_components

По умолчанию [kubectl]. Дополнительные компоненты для установки. Будут добавлены либо в стандартный список установки, либо в список переопределенных компонентов (если он указан).

Пример плейбука

Вот пример плейбука, который выполняет нашу роль:

- name: Создать временный путь установки 
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:
    - name: Создать временный путь
      file:
        path: "/tmp/install_gcloud"
        state: directory
        mode: 0777

- name: Выполнить установку
  hosts: localhost
  connection: local
  gather_facts: yes    # Выполнить gather_facts для определения 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: Удалить временный путь установки
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:
    - name: Удалить временный путь
      file:
        path: "/tmp/install_gcloud"
        state: absent

Лицензия

MIT

Авторы

@chouseknecht

О проекте

Install Google Cloud SDK and kubectl

Установить
ansible-galaxy install ansible/role-install-gcloud
Лицензия
mit
Загрузки
4850
Владелец