このページでは、Cloud Code の使用を開始する方法について説明します。
このクイックスタートでは、スターターの「Hello World」テンプレートを使用して新しい Kubernetes アプリケーションを設定します。クラスタを作成してアプリをこのクラスタで実行し、アプリを繰り返しビルドして反復開発を行い、実行中のコードをデバッグします。ライブ アプリケーションからのストリーミング ログを観察して確認します。
始める前に
Google Cloud を使用する場合は、Google Cloud プロジェクトを作成して課金を有効にする必要があります。
あるいは、他の Cloud Platform でホストされているクラスタ、または Minikube や Docker Desktop などのツールを備えたローカル Kubernetes クラスタを使用できます。
プラグインのインストール
Cloud Code プラグインをインストールするには、以下の手順を行います。
- JetBrains IDE バージョン 2019.3 以降(IntelliJ Ultimate/Community、PyCharm Professional/Community、WebStorm、GoLand など)がまだインストールされていない場合は、インストールします。
すべての Cloud Platform で、Docker クライアント(Docker レジストリで認証済み)がマシンの
PATH
にインストールされていることを確認します(そのフォルダはPATH
内のディレクトリの下に表示されます)。Docker がインストールされているかどうかを確認するには、docker -v
を実行します。Cloud Code は、他の必要な依存関係を自動的にインストールします。
IntelliJ IDEA(またはサポートされている JetBrains IDE)を開きます。
プラグイン マーケットプレイス([File] > [Settings] > [Plugins]、または Mac OS X の場合は [IntelliJ IDEA] > [Preferences] > [Plugins])から、「Cloud Code」プラグインを検索してインストールします。
このとき、プラグインを有効にするために IDE の再起動を求められることがあります。
クラスタの作成
アプリケーションを作成する前に、Kubernetes クラスタ(ローカルで Minikube でホストされている、またはGoogle Kubernetes Engine クラスタなどの Cloud Platform を使用している)との関連付けが必要となります。このクイックスタートで使用するクラスタがまだない場合は作成します。
Google Cloud を使用する場合は、次の手順で GKE クラスタを作成できます。
ターミナルまたは Cloud Console から GKE に新しいクラスタを作成します。
ターミナルを使用してクラスタを作成する場合は(下部のタスクバーを使用して IDE 内からアクセス可能)、実行します。
gcloud container clusters create [CLUSTER_NAME] --zone [COMPUTE_ZONE]
Cloud Console を使用してクラスタを作成する場合は、[Google Kubernetes Engine] メニューを表示して [クラスタを作成] をクリックします。
Google Kubernetes Engine のメニューに移動
フィールドのカスタマイズの詳細については、GKE ガイドをご覧ください。
クラスタを作成したら、ローカルの kubeconfig ファイルにクラスタを追加する必要があります。 そのためには、次を実行します。
gcloud container clusters get-credentials [CLUSTER_NAME]
これにより、指定したクラスタがアクティブなコンテキストに設定されます。
アプリケーションの作成
既存のサンプルを使用して新しいアプリケーションを作成するには:
- IDE で [File] > [New Project] の順に開き、[Cloud Code: Kubernetes] を選択します。
- スターター アプリケーションのリストから「Hello World」テンプレートを選択します。
IntelliJ IDEA を使用している場合は、コンテナ イメージの保存場所を指定するように求められます。
選択したコンテナ レジストリに応じて、適切な形式を選択します。
GKE を使用している場合は、Google Container Repository にイメージを保存できます。
さらに、このフィールドにはオートコンプリート機能が用意されているため、優先する Google Cloud プロジェクトと現在アクティブなクラスタに関連付けられたイメージを簡単に見つけることができます。形式は次のようにします。
gcr.io/{project-name}。ここで、{project-name} はクラスタを含む GCP プロジェクトの名前です。
Docker Hub にイメージを保存することを選択する場合は(非公開の Docker Hub リポジトリを使用している場合は適切に認証されるようにしてください)、次の形式を使用します。
docker.io/{account}。ここで、{account} は Docker Hub アカウントの名前です。
Minikube や Docker デスクトップのようなローカル クラスタで実行している場合は、この手順をスキップして [次へ] をクリックします。
プロジェクトの名前を選択します。
[完了] をクリックすると、Cloud Code によって選択したテンプレートのクローンが作成され、使用するために新しく作成したプロジェクトが開かれます。
Java テンプレートの場合、pom.xml を同期するために Maven プロジェクトをインポートするよう求められます。[Add as Maven project] をクリックします。
また、必要な Maven プロジェクトをインポートするには、[Import Changes] をクリックします。
アプリケーションの開発
Kubernetes でアプリケーションの開発を開始するには:
- Cloud Platform でホストされているクラスタで実行している場合は、Kubernetes での開発用にコンテナ イメージの保存場所を定義していることを確認します。
上部のタスクバーの [Run/Debug configurations] ダイアログから [Develop on Kubernetes] 実行ターゲットを選択します。
これにより、コードの変更が自動的にビルドされ、push され、アプリケーションの新しいバージョンにデプロイされます。
[Develop on Kubernetes] の実行アクション
をクリックし、Kubernetes クラスタ上で開発サイクルを開始します。
出力ウィンドウで、受信アプリケーション ログを表示します。
デプロイが開始されると、デプロイされたアプリケーションの転送ポートのリストが表示されます。
デプロイが成功すると、ローカル URL を介してサービスにアクセスできるようになったことを知らせるメッセージが表示されます。[表示] をクリックしてイベントログを開きます。
イベントログで、リンクをクリックしてアプリケーションが実行中のブラウザを開きます。
アプリケーションのデバッグ
アプリケーションをデバッグするには、次の手順を行います。
- Cloud Platform でホストされているクラスタで実行している場合は、Kubernetes での開発用にコンテナ イメージの保存場所を定義していることを確認します。
[Develop on Kubernetes] のデバッグ アクション
をクリックし、Kubernetes クラスタ上でデバッグモードで開発サイクルを開始します。
Cloud Code はデバッグ セッションをアタッチします。成功すると、デバッグツール ウィンドウが開き、[Console] タブ内で接続が確認されます。
これで、ライブ Kubernetes クラスタに対してデバッグできるようになりました。
ブレークポイントを追加するコードの実行可能行の左横(gutter)をクリックします。
赤い塗りつぶしの円はアクティブなブレークポイントを示し、赤で囲まれた白抜きの円は無効なブレークポイントを示します。
アプリケーションに新しいリクエストを送信すると、設定した行でコードが一時停止します。
デバッグ セッションを終了するには、
Develop on Kubernetes
実行構成の停止アイコンをクリックします。
アプリケーションの実行
Kubernetes でアプリケーションを実行するには:
- Kubernetes での実行用にコンテナ イメージの保存場所を定義していることを確認します。
アプリケーションをデプロイする準備ができたので、上部のタスクバーの [Run/Debug configurations] ダイアログで [Run on Kubernetes] を選択して、アプリケーションをデプロイします。
[Run on Kubernetes
] をクリックします。
Kubernetes での開発と同様に、受信アプリケーション ログを出力ウィンドウで表示できます。
デプロイが成功すると、ローカル URL を介してサービスにアクセスできるようになったことを知らせるメッセージが表示されます。[表示] をクリックしてイベントログを開きます。
イベントログで、アプリケーションが提供されているポートを見つけます。リンクをクリックして、アプリケーションが実行中のブラウザを開きます。
http://localhost:{port-number} にアクセスして、新しくデプロイしたアプリケーションを使用します。
ログの表示
アプリケーションの開発中および実行中に、ターミナル出力内で実行中の Pod から出力されるログのライブストリームを表示できます。また、Kubernetes Explorer に移動すると、特定の Pod のログを表示できます。
特定の Pod のログを表示する手順は次のとおりです。
Kubernetes Explorer に移動します。右側のサイドパネルからアクセスできます。また、[Tools] > [Cloud Code] > [Kubernetes] > [View Cluster Explorer] でアクセスすることもできます。
ログを表示する Pod を選択します。
Pod を右クリックして [ログのストリーム] を選択します。また、Pod で実行されている個々のコンテナのログをストリーミングすることもできます。
これにより、Kubernetes Explorer Console にログが出力されます。
クリーンアップ
このクイックスタートで使用したリソースについてアカウントに課金されないようにするには、作成したクラスタとプロジェクトを削除してください。
Google Cloud を使用していて、プロジェクト(および GKE クラスタなどの関連するリソース)を削除する場合:
Cloud Console の [プロジェクト] ページに移動します。
このクイックスタート用に作成したプロジェクトを選択し、横にあるゴミ箱アイコンをクリックして削除します。
プロジェクトがシャットダウンし、プロジェクト削除のスケジュールが決定されます。
次のステップ
- 既存のアプリケーション(Kubernetes または App Engine アプリ)を IDE にインポートし、Cloud Code で設定することを検討してください。
- Kubernetes アプリケーションの開発についてさらに詳しく説明します。
- Cloud Code の YAML 編集サポートを使用して、より高度な Google Cloud と Kubernetes の構成に取り組む。
- Kubernetes Explorer を使用して、Kubernetes リソースを細かく分析し管理する。
- Cloud Code を使用して App Engine アプリの作成、実行、デバッグ、デプロイを行います。
- 使いやすい IDE から Cloud APIs とクライアント ライブラリを管理します。
- IDE 内の Cloud Storage コンテンツを調べます。
- Cloud Code を使って Cloud Source Repositories に新しいプロジェクトを追加し、既存のプロジェクトをチェックアウトします。
- アプリケーションに Cloud デバッガを接続して、アプリが本番環境で実行されているときのデバッグ エクスペリエンスを強化します。