ansible.install-gcloud
gcloudのインストール
Google Cloud SDKとそのコンポーネントをインストールするために使用します。これにはKubernetesのkubectl CLIも含まれます。Kubernetesにデプロイするものがある場合、この役割はあなたのためのものです。この役割は、開発およびデプロイホストにCLIを自動的にインストールします。
インストールするアーカイブの決定
インストールするアーカイブの名前は、この役割を実行する前に決定する必要があります。残念ながら、アーカイブ名を自動的に判断する方法はありません。通常のパッケージマネージャーを通じてSDKをインストールすることはできません。代わりに、SDKのウェブサイトにアクセスして、あなたのシステムに合ったアーカイブを探してください。アーカイブ名が分かったら、それをこの役割に入力します。
アーカイブのインストール
この役割は、ターゲットホストにアーカイブをダウンロードしてインストールすることができます または すでにダウンロード済みのアーカイブをAnsibleホスト上に用意しておくことができ、その場合はアーカイブをターゲットホストにコピーしてインストールします。ダウンロードしてインストールするには、gcloud_archive_nameを指定します。コピーしてインストールするには、gcloud_archive_pathを指定します。
コンポーネントはどこにインストールされるか?
Googleのインストーラーは、実行可能ファイルを /usr/local/bin や環境のPATHの一部として通常存在するbinディレクトリにリンクまたはコピーしようとはしません。代わりに、コンポーネントの実行可能ファイルは{{ gcloud_install_path }}/binに存在します。ファイルをbinディレクトリにリンクしたりコピーしたりしたい場合は、役割の実行後に追加のタスクをプレイブックに追加してください。
インストールプロセスは、{{ gcloud_install_path }}/bin を環境のPATHに追加するためにログインスクリプトを更新します。この動作を望む場合は、gcloud_update_pathをtrueのままにしてください。インストーラーはユーザーのデフォルトログインスクリプトを更新しようとします。特定のスクリプトを更新するには、gcloud_profile_pathの値を設定します。
どのコンポーネントが利用可能か?
gcloud_additional_components と gcloud_override_componentsのComponent ID値を使用して、インストールされるコンポーネントを制御します。
コンポーネント名 | コンポーネントID | サイズ |
---|---|---|
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 Commands | alpha | < 1 MiB |
gcloud Beta Commands | beta | < 1 MiB |
gcloud app Java Extensions | app-engine-java | 131.0 MiB |
gcloud app PHP Extensions (Mac OS X) | app-engine-php-darwin | 21.9 MiB |
gcloud app Python Extensions | app-engine-python | 7.2 MiB |
BigQuery Command Line Tool | bq | < 1 MiB |
Cloud SDK Core Libraries | core | 4.1 MiB |
Cloud Storage Command Line Tool | 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
デフォルトは''です。Ansibleホスト上のgcloudアーカイブファイルへのパスです。定義されている場合、アーカイブはターゲットホストにコピーされます。
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: tmpパスを作成
file:
path: "/tmp/install_gcloud"
state: directory
mode: 0777
- name: インストールを実行
hosts: localhost
connection: local
gather_facts: yes # ansible_env.HOMEを定義するためにgather_factsを実行
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: tmpパスを削除
file:
path: "/tmp/install_gcloud"
state: absent
ライセンス
MIT