ansible.install-gcloud

Installer gcloud

Utilisez cette procédure pour installer le SDK Google Cloud et ses composants, y compris l'interface en ligne de commande kubectl de Kubernetes. Si vous déployez des éléments sur Kubernetes, ce rôle est fait pour vous, car il automatisera l'installation de l'outil en ligne de commande sur vos hôtes de développement et de déploiement.

Déterminer l’archive à installer

Le nom de l'archive à installer doit être déterminé avant de lancer ce rôle. Malheureusement, il n'y a pas de moyen automatisé pour déterminer le nom de l'archive. Vous ne pouvez pas installer le SDK via les gestionnaires de paquets habituels. Allez plutôt sur le site du SDK et trouvez l'archive qui correspond à votre système. Une fois que vous avez le nom de l'archive, insérez-le dans ce rôle.

Installation de l'archive

Ce rôle peut télécharger l'archive sur l'hôte cible et l'installer OU vous pouvez avoir l'archive déjà téléchargée et disponible sur l'hôte Ansible, auquel cas le rôle copiera l'archive sur l'hôte cible et l'installera. Pour télécharger et installer, fournissez gcloud_archive_name. Pour copier et installer, fournissez gcloud_archive_path.

Où sont installés les composants ?

L'installateur Google ne tente pas de lier ou de copier des exécutables dans /usr/local/bin ou un répertoire bin qui fait généralement partie du PATH de l'environnement. Au lieu de cela, les exécutables des composants se trouvent dans {{ gcloud_install_path }}/bin. Si vous souhaitez ajouter des liens ou copier des fichiers dans un répertoire bin, ajoutez des tâches supplémentaires à votre playbook après l'exécution du rôle.

Le processus d'installation mettra à jour un script de connexion pour ajouter {{ gcloud_install_path }}/bin au PATH de l'environnement. Si vous souhaitez ce comportement, laissez gcloud_update_path sur vrai. L'installateur tentera de mettre à jour le script de connexion par défaut pour l'utilisateur. Pour mettre à jour un script spécifique, définissez la valeur de gcloud_profile_path.

Quels composants sont disponibles ?

Utilisez la valeur de l'ID du composant dans gcloud_additional_components et gcloud_override_components pour contrôler quels composants seront installés.

Nom du composant ID du composant Taille
Émulateur Cloud Datastore cloud-datastore-emulator 15.9 MiB
Émulateur Cloud Datastore (Legacy) gcd-emulator 38.1 MiB
Émulateur Cloud Pub/Sub pubsub-emulator 10.8 MiB
Commandes Alpha gcloud alpha < 1 MiB
Commandes Beta gcloud beta < 1 MiB
Extensions Java de gcloud app app-engine-java 131.0 MiB
Extensions PHP de gcloud app (Mac OS X) app-engine-php-darwin 21.9 MiB
Extensions Python de gcloud app app-engine-python 7.2 MiB
Outil de ligne de commande BigQuery bq < 1 MiB
Bibliothèques Core du SDK Cloud core 4.1 MiB
Outil de ligne de commande Cloud Storage gsutil 2.6 MiB
Ensemble par défaut de commandes gcloud gcloud
kubectl kubectl 8.1 MiB

Exigences

L'hôte cible nécessite :

  • tar

Et bien sûr, si vous prévoyez de télécharger l'archive, l'hôte cible devra avoir accès au monde extérieur.

Variables de rôle

gcloud_archive_name

Par défaut ''. Si défini, l'archive sera téléchargée depuis Google sur l'hôte cible. Défini sur le nom d'un fichier archive. Exemple : google-cloud-sdk-114.0.0-darwin-x86_64.tar.gz.
Visitez le site du SDK pour trouver le nom de l'archive pour votre système.

gcloud_archive_path

Par défaut ''. Chemin vers le fichier archive gcloud sur l'hôte Ansible. Si défini, l'archive sera copiée sur l'hôte cible.

gcloud_tmp_path

Par défaut à /tmp. Défini sur le chemin où l'archive peut être placée temporairement.

gcloud_force_download

Par défaut à oui. Lorsque vous téléchargez l'archive, effectuez toujours le téléchargement, même si l'archive existe déjà dans {{ gcloud_tmp_path }}.

gcloud_install_path

Par défaut à "{{ ansible_env.HOME }}". Chemin sur l'hôte cible pour placer les fichiers décompressés.

gcloud_usage_reporting

Par défaut à non. Activer le rapport d'utilisation ?

gcloud_profile_path

Par défaut à '~/.profile'. Chemin vers le script de connexion à mettre à jour par l'installateur.

gcloud_command_completion

Par défaut à oui. Activer l'auto-complétion des commandes de style bash dans le script de connexion ?

gcloud_update_path

Par défaut à oui. Mettre à jour la variable d'environnement PATH dans le script de connexion ?

gcloud_override_components

Par défaut à []. Remplacer les composants à installer et installer ceux-ci à la place.

gcloud_additional_components

Par défaut à [kubectl]. Composants supplémentaires à installer. Seront soit ajoutés à la liste d'installation par défaut, soit à la liste des composants de remplacement (si fournie).

Exemple de Playbook

Voici un exemple de playbook qui exécute notre rôle :

- name: Créer le chemin d'installation temporaire 
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:
    - name: Créer un chemin temporaire
      file:
        path: "/tmp/install_gcloud"
        state: directory
        mode: 0777

- name: Exécuter l'installation
  hosts: localhost
  connection: local
  gather_facts: yes    # Exécuter gather_facts pour définir 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: Supprimer le chemin d'installation temporaire
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:
    - name: Supprimer le chemin temporaire
      file:
        path: "/tmp/install_gcloud"
        state: absent

Licence

MIT

Auteurs

@chouseknecht

À propos du projet

Install Google Cloud SDK and kubectl

Installer
ansible-galaxy install ansible.install-gcloud
Licence
mit
Téléchargements
5.1k
Propriétaire