はじめに
GAE goな環境を利用しています。
最初に環境構築して以来、google-cloud-sdk
周りにはあまり触れていませんでした。
とある事がきっかけで、
google-cloud-sdk
とgcloud
とgoapp
ってそれぞれなにするやつ?gcloud
とコンポーネント
とgoapp
ってどういう関係?
という所を自分の中で整理できていないなーと思ったので、整理をかねた自分用メモです
アジェンダ
補足
だいたいの説明は公式サイトから引用させて頂いてます。
引用させて頂いたページはrefします。
1. Google Cloud SDKとは
Google Cloud SDKは、
Google Cloud Platformにホスティングされているリソースと
アプリケーションの管理に使用できる一連のツールです。
gcloud、gsutil、bqなどのコマンドライン ツールもその一部です。
gcloud コマンドライン ツールは Cloud SDKと一緒にダウンロードされます。
gcloud の詳しい説明はgcloudの概要にあります。
Google Cloud SDK ドキュメント
インストール後のディレクトリはgoogle-cloud-sdk
という名前になっています。
Cloud SDK のインストール
このブログでは、それぞれが何なのかの説明にとどめます。
cloud SDK のインストール
は以下をご参考ください。
* cloud SDK のインストール
2. gcloudとは
gcloudとは
gcloudは Google Cloud Platformへの
主要なコマンドライン インターフェースを提供するツールです。
このツールを使用すると、
コマンドラインから、またはスクリプトその他の自動化により、多くの一般的なプラットフォーム タスクを実行することができます。
gcloud の概要
gcloudとSDK
gcloudは Google Cloud SDKの一部です。
gcloud を使用するには、その前にシステムにSDKをダウンロードしてインストールし、初期化する必要があります。
デフォルトでは、リリースレベルが一般提供とプレビューのgcloudコマンドのみがインストールされます。
その他の機能は、SDKコンポーネントのalphaとbetaに含まれています。
これらのコンポーネントを使用すると、
Google Cloud Bigtable、Google Cloud Dataflow など、一般提供リリースレベルより前の Cloud Platform 機能を gcloud で使用できるようになります。
gcloud の概要
3. コンポーネント(components)とは
コンポーネントとは
コンポーネントとは SDKの一部で、個別にインストールできます。
コマンドライン ツール(gcloud、bq、gsutil)、
リリースレベルがアルファ版またはベータ版の gcloud コマンド、
SDK のツールによって使用される依存関係を含むパッケージなどがあります。
最も一般的なコンポーネントはデフォルトでインストールされます。
SDK コンポーネントの管理 > コンポーネントとは
デフォルトのコンポーネント
以下は、SDKをインストールすると
デフォルトでインストールされるコンポーネントです。
ID | 名前 | 説明 |
---|---|---|
gcloud | Default gcloud Commands | Google Cloud Platform を操作するためのツール。 このコンポーネントと一緒にインストールされるのは、リリースレベルが一般提供かプレビューのコマンドだけです。 その他のリリースレベルのコマンドを使用するには、gcloud alpha コマンドや gcloud beta コマンド コンポーネントを別途インストールする必要があります。 |
bq | BigQuery Command-Line Tool | Google BigQuery 内のデータを操作するためのツール。 |
gsutil | Cloud Storage Command-Line Tool | Google Cloud Storage に関連するタスクを実行するためのツール。 |
core | Cloud SDK Core Libraries | SDK ツールが内部で使用するライブラリ。 |
※ コンポーネントはIDという単位で管理されています。
componentsコマンド
componentsは、gcloud
コマンドのサブコマンドのように指定して使います
componentsコマンドのhelp
以下のコマンドでhelpを見ることができます。
$ gcoud components --help
実際に叩いてみた例です
$ gcloud components --help NAME gcloud components - list, install, update, or remove Google Cloud SDK components SYNOPSIS gcloud components GROUP | COMMAND [GCLOUD_WIDE_FLAG ...] DESCRIPTION The gcloud components command group lets you control which tools are installed in the Cloud SDK. It can be used to install, update and remove components of the Cloud SDK, ensuring a lean, up-to-date installation. gcloud components regularly checks whether updates are available for the tools you already have installed, and gives you the opportunity to upgrade to the latest version. Certain components have dependencies. gcloud components will install any dependencies, and during removal, any dependant components will be uninstalled automatically. GCLOUD WIDE FLAGS These flags are available to all commands: --account, --configuration, --flatten, --format, --help, --log-http, --project, --quiet, --trace-token, --user-output-enabled, --verbosity. Run $ gcloud help for details. GROUPS GROUP is one of the following: repositories Manage additional component repositories for Trusted Tester programs. COMMANDS COMMAND is one of the following: install Install one or more Cloud SDK components. list List the status of all Cloud SDK components. reinstall Reinstall the Cloud SDK with the same components you have now. remove Remove one or more installed components. restore Restore the Cloud SDK installation to its previous state. update Update all of your installed components to the latest version. EXAMPLES To see all available components: $ gcloud components list To install a component you don't have: $ gcloud components install COMPONENT To remove a component you no longer need: $ gcloud components remove COMPONENT To update all components you have to their latest version: $ gcloud components update To update all installed components to version 1.2.3: $ gcloud components update --version 1.2.3
components list
以下のコマンドで、提供されているcomponentsの一覧とインストール状況を見る事ができます。
$ gcoud components --help
実際に叩いてみた例です。
$ gcloud components list Your current Cloud SDK version is: 198.0.0 The latest available version is: 200.0.0 ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Components │ ├──────────────────┬──────────────────────────────────────────────────────┬──────────────────────────┬───────────┤ │ Status │ Name │ ID │ Size │ ├──────────────────┼──────────────────────────────────────────────────────┼──────────────────────────┼───────────┤ │ Update Available │ BigQuery Command Line Tool │ bq │ < 1 MiB │ │ Update Available │ Cloud SDK Core Libraries │ core │ 7.9 MiB │ │ Update Available │ Cloud Storage Command Line Tool │ gsutil │ 3.5 MiB │ │ Not Installed │ Cloud Bigtable Command Line Tool │ cbt │ 4.6 MiB │ │ Not Installed │ Cloud Bigtable Emulator │ bigtable │ 3.8 MiB │ │ Not Installed │ Cloud Datalab Command Line Tool │ datalab │ < 1 MiB │ │ Not Installed │ Cloud Datastore Emulator │ cloud-datastore-emulator │ 17.9 MiB │ │ Not Installed │ Cloud Datastore Emulator (Legacy) │ gcd-emulator │ 38.1 MiB │ │ Not Installed │ Cloud Pub/Sub Emulator │ pubsub-emulator │ 33.4 MiB │ │ Not Installed │ Emulator Reverse Proxy │ emulator-reverse-proxy │ 14.5 MiB │ │ Not Installed │ Google Container Local Builder │ container-builder-local │ 4.3 MiB │ │ Not Installed │ Google Container Registry's Docker credential helper │ docker-credential-gcr │ 2.5 MiB │ │ Not Installed │ gcloud app Java Extensions │ app-engine-java │ 118.9 MiB │ │ Not Installed │ gcloud app PHP Extensions │ app-engine-php │ 21.9 MiB │ │ Not Installed │ gcloud app Python Extensions (Extra Libraries) │ app-engine-python-extras │ 28.5 MiB │ │ Not Installed │ kubectl │ kubectl │ 12.2 MiB │ │ Installed │ App Engine Go Extensions │ app-engine-go │ 151.3 MiB │ │ Installed │ gcloud Alpha Commands │ alpha │ < 1 MiB │ │ Installed │ gcloud Beta Commands │ beta │ < 1 MiB │ │ Installed │ gcloud app Python Extensions │ app-engine-python │ 6.1 MiB │ └──────────────────┴──────────────────────────────────────────────────────┴──────────────────────────┴───────────┘ To install or remove components at your current SDK version [198.0.0], run: $ gcloud components install COMPONENT_ID $ gcloud components remove COMPONENT_ID To update your SDK installation to the latest version [200.0.0], run: $ gcloud components update
アルファ版コンポーネントとベータ版コンポーネント
コンポーネントにはα版とβ版があり、
それぞれ以下のようにインストールすることで利用可能になります。
$ gcloud components install alpha $ gcloud components install beta
詳しく知りたい場合は、公式サイトが参考になります
4. goappコマンドとは
これまでなんとなく使っていたものの
goappコマンド
が何かというのは自分的に結構曖昧なままでした。
goappコマンドについて
は別途軽く調べてみたのでこちらもご参考ください。
* 【GAE】goappコマンドについて簡単にまとめてみた
goappコマンドとは
goappコマンドの説明です。
どのコンポーネント?
goappコマンドは、
前述したcomponentsコマンドでインストールすることで利用可能です。
先ほどのcomponents list
でいうところのapp-engine-go
です
$ gcloud components list ~ 省略 ~ │ Installed │ App Engine Go Extensions │ app-engine-go │ 151.3 MiB │ ~ 省略 ~
goappコマンドの使い方例
以下のように利用することで、
ローカルでGAEアプリの起動ができます。
$ goapp serve app.yaml
おわり
これで誰かに聞かれても
Google Cloud SDKとgcloudとコンポーネント(components)とgoappについて説明ができそうです
\(^o^)/