リモート開発のクイックスタート

このページでは、Cloud Shell のリモート開発環境を使用して Cloud Code をすぐに使い始める方法について説明します。

このクイックスタートでは、ボタンをクリックすることで、設定を省略してプロジェクトのクローンをリモート開発ワークスペースに作成します。続いて、クラスタを作成し、そこで Kubernetes アプリを実行してコードをデバッグします。動作中のアプリケーションのログの表示や、実行中のコンテナへのターミナルの接続についても取り上げます。

始める前に

このクイックスタートで使用する Google Cloud のリモート開発環境である Cloud Shell にアクセスするには、GCP プロジェクトを作成して課金を有効にする必要があります。

また、お使いの PC に次のソフトウェアがインストールされている必要があります。

Cloud Code の起動

Visual Studio Code と Remote - SSH 拡張機能をインストールしたら、下の [Cloud Code で開く] ボタンをクリックして、Cloud Shell でリモート開発環境に接続された Visual Studio Code を開きます。この環境には、Kubernetes アプリケーションの開発に必要なすべてのツールが用意されています。

[Cloud Code で開く] ボタンをクリックすると、VS Code が起動し、リモート開発ワークスペースにプロジェクトのクローンが自動的に作成されます。必要なものをまだ準備していない場合は、この時点でインストールするように求められます。

クローン プロジェクトで使用する言語を選択し、[Cloud Code で開く] ボタンをクリックして、リモート開発ワークスペースで作業を開始します。

Google Kubernetes Engine クラスタの作成

GKE クラスタを作成するには、次の手順に沿って操作します。

  1. Cloud Code ビューを使用して、左側の VS Code アクティビティ バーにあるアイコン Kubernetes Explorer のアイコン をクリックし、Google Kubernetes Engine Explorer に移動します。
  2. [Click here to log in to Google Cloud SDK] をクリックし、Cloud SDK で認証します。
  3. Google Kubernetes Engine Explorer パネルのヘッダーで、[+] ボタン(プラスアイコン)(マウスオーバーで使用可能)をクリックして新しい GKE クラスタを作成します。
  4. デフォルトのプロジェクトにクラスタを作成していることを確認します。
  5. [Create Cluster] ウィザードのフィールドに入力し、[Create Cluster] をクリックします。

    この例では、プロジェクト ID は [Use Default Project ID] ボタンを使用して設定され、ゾーンは「us-central1-a」、クラスタ名は「test」と設定されています。

    クラスタの作成には数分かかります。作成したクラスタは、GKE Explorer ビュー Kubernetes Explorer のアイコン の下に表示されます。

    GKE Explorer を使用して新しいクラスタを作成する

アプリの実行

これで、アプリケーションを実行し、ライブで表示できるようになりました。また、Cloud Code がファイルシステムの変更を監視するため、ほぼリアルタイムでアプリを変更して再実行できます。

アプリケーションを実行するには、次の手順に沿って操作します。

  1. Cloud Code のステータスバーを使用して、[Run on Kubernetes] を選択します。
  2. 現在のクラスタ コンテキストを使用してアプリを実行する(または指定のものに切り替える)かどうかを確定します。
  3. 選択したコンテキストによっては、イメージを push するイメージ レジストリを選択するよう求められる場合があります。
  4. 実行中のアプリケーションの進行状況を追跡できる出力ウィンドウが表示されます。また、実行中の Pod からのログのライブ ストリームがターミナル出力に表示されます。
  5. 成功すると、出力ウィンドウに IP アドレスが表示されます。Ctrl / Cmd キーを押しながらクリックして、このリンクされたアドレスを使用してアプリケーションにアクセスします。

    Hello World アプリの実行

トラブルシューティングのヒント

  1. 既存のクラスタを使用している場合は、gcloud container clusters get-credentials ${CLUSTER} --zone=${ZONE} を実行してクラスタ認証情報を取得します。これにより、クラスタが kubectl に追加されます。

    または、Cloud Code ビュー Kubernetes Explorer のアイコンKubernetes Explorer からアクセスできるパネルとして GKE Explorer に移動することもできます。使用するクラスタを右クリックし、[Set as Active Cluster] を選択します。

アプリのデバッグ

アプリケーションをデバッグするには、次の手順に沿って操作します。

  1. Cloud Code のステータスバーを使用して、[Debug on Kubernetes] を選択します。
  2. プロンプトが表示された場合は、現在のクラスタ コンテキストを使用するか、優先するコンテキストに切り替えるかを確認します。

    Cloud Code は、.vscode/launch.json ファイルの「cloudcode.kubernetes」構成を使用して、アプリケーションを実行し、デバッガ セッションを接続します。

  3. 次に、Cloud Code はコンテナをビルドしてレジストリに push し、Kubernetes 構成をクラスタに適用して、ライブ アプリケーションの閲覧に使用できる IP アドレスを返します。

  4. デバッガ セッションを接続する前に、デバッグするプログラムが存在するリモート コンテナのディレクトリを確認または入力するよう求められます(コンテナのデバッグを省略するには Esc キーを押します)。

  5. app.js の余白をクリックして、ブレークポイントを追加します。

    赤い塗りつぶしの円はアクティブなブレークポイントを示し、灰色で白抜きの円は無効なブレークポイントを示します。ブレークポイントを細かく制御するには、VS Code のデバッグビューの [BREAKPOINTS] セクションを使用します。

    デバッグビューの左側のパネルにある [BREAKPOINTS] セクションでブレークポイントの追加、削除、無効化を行う

    アプリケーションに新しいリクエストを送信すると、指定した行でコードが一時停止します。

  6. (省略可)変数とスタック情報を調べるには、デバッグ サイドバーを使用します。

    デバッグ セッションを操作するには、ページ下部のペインのデバッガにあるデバッグ コンソールを使用します。

    ブレークポイントと変数でアプリを一時停止し、スコープ内の値が入力されたコールスタック セクション

ログの表示

実行中のアプリケーションからのターミナル出力内で、実行中の Pod のログのライブ ストリームを表示できますが、Cloud Code に付属のログビューアでもログを表示できます。

ログを表示するには、次の手順に沿って操作します。

  1. コマンド パレット(Ctrl / Cmd + Shift + P キーを押すか、歯車アイコン 管理アイコン が付いた [Manage] メニューからアクセス)を使用して、「Cloud Code: View Logs」と入力し、ログビューアを起動します。
  2. 実行中のアプリを検索してログを表示します。この例では、ログビューア検索ボックスの [Deployment] フィールドに「nodejs-hello-world」と入力して検索します。

    ログビューアの検索ボックス内の [Deployment] フィールドを「nodejs-hello-world」に設定してログを表示する

参考: コンテナでターミナルを開く

補足として、コンテナでターミナルを開く手順を次に示します。

  1. Kubernetes Explorer に移動します。
  2. クラスタを選択して、その下にある [Pods] セクションから接続する Pod を選択します。
  3. 指定した Pod の下の [Containers] セクションを展開し、ターミナルを開くコンテナを右クリックします。
  4. [Get Terminal] を選択します。

    ターミナルが起動し、実行中のコンテナからシェルにアクセスできるようになります。

    指定した Pod をターミナルに表示

クリーンアップ

アプリケーションを終了すると、実行中にデプロイされたすべての Kubernetes リソースは自動で削除されます。

ただし、このクイックスタートで使用した他のリソースについてアカウントに課金されないようにするには、作成したクラスタとプロジェクトを削除してください。

Google Cloud を使用していてクラスタのみを削除する場合は、次の方法で削除できます。

  • Cloud Code ビュー Kubernetes Explorer のアイコン の Kubernetes Explorer を使用して、Google Kubernetes Engine Explorer ペインから削除するクラスタを右クリックし、[Delete cluster] を選択します。

プロジェクト(およびクラスタを含む関連リソース)を削除するには、次のようにします。

  • Cloud Console の [プロジェクト] ページに移動します。

    プロジェクト ページに移動

  • このクイックスタート用に作成したプロジェクトを選択し、横にあるゴミ箱アイコンをクリックして削除します。

    プロジェクトがシャットダウンし、プロジェクト削除のスケジュールが決定されます。

次のステップ