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
ansible-galaxy install ansible.install-gcloud