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_componentsgcloud_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

著者

@chouseknecht

プロジェクトについて

Install Google Cloud SDK and kubectl

インストール
ansible-galaxy install ansible.install-gcloud
ライセンス
mit
ダウンロード
5.1k
所有者