クイックスタート

このページでは、Cloud Code をすぐに使い始める方法について説明します。

スターターの「Hello World」テンプレートを使用して新しい Kubernetes アプリケーションを設定します。クラスタを作成し、そこでアプリを実行してコードをデバッグします。動作中のアプリケーションのログの表示や、実行中のコンテナへのターミナルの接続についても取り上げます。

Cloud Code で新しい Hello World アプリを作成する

始める前に

Google Cloud を使用する場合は、Google Cloud プロジェクトを作成して課金を有効にする必要があります。

Cloud Code のインストール

  1. Visual Studio Code がマシンにまだインストールされていない場合は、インストールします。
  2. すべての Cloud プラットフォームで、Docker クライアント(Docker レジストリで認証済み)がマシンの PATH にインストールされていること(そのフォルダが PATH 内のディレクトリの下に表示されます)を確認します。Cloud Code により、kubectl、Skaffold、Google Cloud SDK が自動でインストールされます。
  3. 次のいずれかの方法で Cloud Code をインストールします。
    • こちらのリンクで VS Code を開いて、Cloud Code をインストールします。
    • マシンで Visual Studio Code を開きます。VS Code の [Extensions] ビュー 拡張機能アイコン(左側のタスクバーにある正方形のアイコン)を使用して、「Cloud Code」拡張機能を検索し、[Install] をクリックします。
  4. インストールが完了すると、Cloud Code Welcome ページが表示され、スターター アプリの下に一連の組み込みテンプレートが確認できます。テンプレートを使用すると、新しいアプリケーションを手早く設定できます。

    Cloud Code Welcome ページ

    また、Cloud Code の共通的な操作がそろう Cloud Code のステータスバーが、VS Code ステータスバーでも使用できるようになりました。

    Cloud Code Welcome ページ

アプリケーションの作成

  1. Cloud Code のステータスバーで [New Application] を選択します。Cloud Code のステータスバーを使用して新しいアプリを作成する
  2. テンプレートのリスト(Node.js、Flask および Django フレームワークの Python、Java、Go)から、選択した言語の Hello World アプリを選択します。

    たとえば、Node.js: Hello World を選択すると、スターターの Node.js Hello World アプリが作成されます。

  3. アプリケーションの場所を確認(必要に応じて変更)して、続行します。

    アプリケーションが作成されたことを確認する通知が表示され、アプリケーションの新しいウィンドウが開きます。

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 の [プロジェクト] ページに移動します。

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

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

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

次のステップ