ansible.install-gcloud
gcloud installieren
Verwenden Sie dies, um das Google Cloud SDK und seine Komponenten, einschließlich des Kubernetes' kubectl CLI, zu installieren. Wenn Sie Dinge in Kubernetes bereitstellen, ist diese Rolle für Sie, da sie die Installation des CLI auf Ihren Entwicklungs- und Bereitstellungsservern automatisiert.
Bestimmen Sie, welches Archiv installiert werden soll
Der Name des zu installierenden Archivs muss vor der Ausführung dieser Rolle festgelegt werden. Leider gibt es keinen automatisierten Weg, um den Archivnamen zu bestimmen. Sie können das SDK nicht über die üblichen Paketmanager installieren. Gehen Sie stattdessen auf die SDK-Website und suchen Sie das Archiv, das zu Ihrem System passt. Sobald Sie den Archivnamen haben, fügen Sie ihn in diese Rolle ein.
Archiv installieren
Diese Rolle kann das Archiv auf den Zielserver(n) herunterladen und installieren ODER Sie können das Archiv bereits heruntergeladen haben und es auf dem Ansible-Host zur Verfügung stellen. In diesem Fall wird die Rolle das Archiv auf den Zielserver(n) kopieren und installieren. Um herunterzuladen und zu installieren, geben Sie gcloud_archive_name an. Um zu kopieren und zu installieren, geben Sie gcloud_archive_path an.
Wo werden die Komponenten installiert?
Der Google-Installer versucht nicht, ausführbare Dateien in /usr/local/bin oder ein Verzeichnis zu kopieren, das typischerweise Teil des Umgebungs-PATH ist. Stattdessen befinden sich die ausführbaren Komponenten in {{ gcloud_install_path }}/bin. Wenn Sie Links hinzufügen oder Dateien in ein bin-Verzeichnis kopieren möchten, fügen Sie zusätzliche Aufgaben zu Ihrem Playbook nach der Ausführung der Rolle hinzu.
Der Installationsprozess aktualisiert ein Login-Skript, um {{ gcloud_install_path }}/bin zum Umgebungs-PATH hinzuzufügen. Wenn Sie dieses Verhalten wünschen, lassen Sie gcloud_update_path auf true. Der Installer wird versuchen, das Standard-Login-Skript für den Benutzer zu aktualisieren. Um ein bestimmtes Skript zu aktualisieren, setzen Sie den Wert von gcloud_profile_path.
Welche Komponenten sind verfügbar?
Verwenden Sie den Component ID-Wert in gcloud_additional_components und gcloud_override_components, um zu steuern, welche Komponenten installiert werden.
Komponentenname | Komponenten-ID | Größe |
---|---|---|
Cloud Datastore Emulator | cloud-datastore-emulator | 15.9 MiB |
Cloud Datastore Emulator (Legacy) | gcd-emulator | 38.1 MiB |
Cloud Pub/Sub Emulator | pubsub-emulator | 10.8 MiB |
gcloud Alpha-Befehle | alpha | < 1 MiB |
gcloud Beta-Befehle | beta | < 1 MiB |
gcloud app Java Erweiterungen | app-engine-java | 131.0 MiB |
gcloud app PHP Erweiterungen (Mac OS X) | app-engine-php-darwin | 21.9 MiB |
gcloud app Python Erweiterungen | app-engine-python | 7.2 MiB |
BigQuery-Befehlszeilenwerkzeug | bq | < 1 MiB |
Cloud SDK Kernbibliotheken | core | 4.1 MiB |
Cloud Storage-Befehlszeilenwerkzeug | gsutil | 2.6 MiB |
Standardset an gcloud-Befehlen | gcloud | |
kubectl | kubectl | 8.1 MiB |
Anforderungen
Der Zielhost benötigt:
- tar
Und natürlich, wenn Sie das Archiv herunterladen möchten, benötigt der Zielhost Zugang zur Außenwelt.
Rollenvariablen
gcloud_archive_name
Standardmäßig auf ''. Wenn gesetzt, wird das Archiv von Google auf den Zielhost heruntergeladen. Setzen Sie es auf den Namen einer Archivdatei. Beispiel: google-cloud-sdk-114.0.0-darwin-x86_64.tar.gz. Besuchen Sie die SDK-Seite, um den Archivnamen für Ihr System zu finden.
gcloud_archive_path
Standardmäßig auf ''. Pfad zur gcloud-Archivdatei auf dem Ansible-Host. Wenn definiert, wird das Archiv auf den Zielhost kopiert.
gcloud_tmp_path
Standardmäßig auf /tmp. Setzen Sie den Pfad, in dem das Archiv vorübergehend abgelegt werden kann.
gcloud_force_download
Standard auf ja. Beim Herunterladen des Archivs immer den Download durchführen, auch wenn das Archiv bereits in {{ gcloud_tmp_path }} vorhanden ist.
gcloud_install_path
Standardmäßig auf "{{ ansible_env.HOME }}". Pfad auf dem Zielhost, um die entpackten Dateien abzulegen.
gcloud_usage_reporting
Standardmäßig auf nein. Nutzungserfassung aktivieren?
gcloud_profile_path
Standardmäßig auf '~/.profile'. Pfad zum Login-Skript, das vom Installer aktualisiert werden soll.
gcloud_command_completion
Standardmäßig auf ja. Bash-Stil Befehlsvervollständigung im Login-Skript aktivieren?
gcloud_update_path
Standardmäßig auf ja. Die PATH-Umgebungsvariable im Login-Skript aktualisieren?
gcloud_override_components
Standardmäßig auf []. Ersetzen Sie die zu installierenden Komponenten und installieren Sie stattdessen diese.
gcloud_additional_components
Standardmäßig auf [kubectl]. Zusätzliche Komponenten, die installiert werden sollen. Werden entweder zur Standardinstallationsliste oder zur Liste der überschreibenden Komponenten (sofern angegeben) hinzugefügt.
Beispiel-Playbook
Hier ist ein Beispiel-Playbook, das unsere Rolle ausführt:
- name: Erstelle temporären Installationspfad
hosts: localhost
connection: local
gather_facts: no
tasks:
- name: Erstelle einen temporären Pfad
file:
path: "/tmp/install_gcloud"
state: directory
mode: 0777
- name: Führe die Installation aus
hosts: localhost
connection: local
gather_facts: yes # Führen Sie gather_facts aus, um ansible_env.HOME zu definieren
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: Entferne temporären Installationspfad
hosts: localhost
connection: local
gather_facts: no
tasks:
- name: Entferne den temporären Pfad
file:
path: "/tmp/install_gcloud"
state: absent
Lizenz
MIT
Autoren
ansible-galaxy install ansible.install-gcloud