目標
オンラインデモ IDE である Cloud Shell エディタで、次の開発タスクを行う方法を確認します。
Kubernetes サンプルアプリを作成します。
開発環境でアプリのログを実行、更新、表示します。
アプリを GKE クラスタにデプロイします。
Cloud Code をインストールする場合は、独自の IDE で同様のプロセスを行うことができます。
このタスクの手順をガイドに沿って Google Cloud コンソールで直接行う場合は、「ガイドを表示」をクリックしてください。
費用
このドキュメントでは、Google Cloud の次の課金対象のコンポーネントを使用します。
料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。
このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。
始める前に
Kubernetes クラスタを作成します。方法については、クラスタを作成してワークロードをデプロイするをご覧ください。
Google Cloud プロジェクトとクラスタを選択する
このチュートリアルで後ほどアプリを GKE にデプロイするときに、Google Cloud プロジェクトと GKE クラスタを指定する必要があります。
GKE の [クラスタ] ページに移動します。
GKE クラスタを含むプロジェクトを選択します。
プロジェクトとクラスタの名前をメモします。
この情報はあとで必要になります。
Cloud Shell エディタでアプリを作成する
Google Cloud コンソールで、タスクバーの
[Cloud Shell] をクリックして Cloud Shell を開きます。[
エディタを開く ] をクリックします。Cloud Shell エディタが初期化されるまで待ちます。
Cloud Shell エディタで、[View] > [Command Palette] をクリックします。
[Cloud Code: New Application] を検索してクリックします。
[Kubernetes Application] を選択し、[Go: Hello World] を選択します。
言語フレームワークによってエクスペリエンスが若干異なります。このチュートリアルでは、Go で使用できる機能について説明します。
[Save] ダイアログで、[Create new application] をクリックします。
Cloud Shell エディタが再読み込みされ、アプリのソースファイルがエクスプローラ ビューに表示されます。
アプリは以下で構成されます。
基本的な
go-hello-world
ウェブアプリ( )。受信したすべてのリクエストに対して、テンプレートに記述されている「It's running!」というレスポンスを返します。main.go
Kubernetes Deployment の仕様(
)。hello.deployment.yaml
アプリ
のロードバランサを定義する Kubernetes Service の仕様。hello.service.yaml
アプリ
のビルドとデプロイのワークフローを処理する Skaffold ファイル。skaffold.yaml
開発環境でアプリを実行する
可能であれば、GKE にデプロイする前に開発環境でアプリを実行してください。これにより、Google Cloud の割り当てを使用せずに潜在的な問題を特定できます。
Cloud Shell エディタ環境でアプリを実行するには:
Cloud Shell エディタで、[Terminal] > [New Terminal] をクリックします。
次のコマンドを実行してクラスタを起動します。
minikube start
minikube は軽量の Kubernetes 実装で、ローカル環境に VM を作成し、ノードが 1 つだけ含まれるシンプルなクラスタをデプロイします。
minikube クラスタの設定に 1 分ほどかかる場合があります。
Cloud Shell に Cloud API の呼び出しを認可するよう求められたら、[Authorize] をクリックします。
クラスタの設定後、次のようなメッセージが表示されます。
Done! kubectl is now configured to use "minikube" cluster...
minikube を設定したら、アプリをビルドして実行します。
Cloud Shell エディタのステータスバーで、[
Cloud Code ] をクリックします。[Run on Kubernetes] を選択します。
プロンプトが表示されたら、現在の minikube コンテキストを使用することを確認します。
Cloud Shell エディタがアプリをビルドし、minikube クラスタにデプロイします。
[Development sessions] ビューでデプロイのステータスを確認します。デプロイが完了すると、[Portforward URLs] の横に緑色のチェックマークが表示されます。[Stream Application Logs] の横に回転アイコンが表示されます。
アプリを表示するには、[Development sessions] ペインで、[Port Forward URLs] > [service] を見つけます。
[
go-hello-world-external ] の上にポインタを置いて、[ Open URL] クリックします。
アプリを編集する
アプリ内のソースファイルを変更すると、Cloud Shell エディタが自動的にアプリをビルドして、現在接続しているクラスタにデプロイします。この例では、minikube クラスタに接続しています。
アプリを編集してローカルの minikube クラスタに再デプロイするには:
ファイルを変更して「It's redeployed!」と出力するようにします。このファイルは自動的に保存されます。main.go
アプリが再ビルドされてデプロイされる過程を
[Development sessions ] ビューで確認できます。再デプロイしたアプリを以前と同じように表示します。
[Development sessions] ペインで、[Port Forward URLs] > [service] を見つけます。
[
go-hello-world-external ] の上にポインタを置いて、[ Open URL] クリックします。
アプリのログを表示する
Cloud Shell エディタのメニューバーで、[View] > [Command Palette] を選択します。
[Cloud Code: View Logs] を検索してクリックします。
ログビューアが開きます。
[
Deployment ] で、go-hello-world
を選択します。これにより、ログビューアがフィルタされ、
go-hello-world
アプリのログのみが表示されます。アプリのタブに [It's redeployed!] と表示されます。ブラウザでページを再読み込みしてから、Cloud Shell タブに戻ります。
新しく生成されたログをログビューアで表示するには、
[Refresh] をクリックします。
アプリを GKE クラスタにデプロイする
デプロイ先として選択可能なクラスタのリストに GKE クラスタを追加します。
[
Kubernetes ] ビューで、 [Add a Cluster to the KubeConfig] をクリックします。[Choose a platform] ダイアログで [Google Kubernetes Engine] をクリックします。
Google Cloud API を有効にするように求められたら、[Yes] をクリックします。
Cloud Shell エディタが Google Cloud プロジェクト内のクラスタを検出するまで待ちます。
[Create or choose a GKE cluster] ダイアログで、作成したクラスタの名前(hello-world-cluster)を選択します。
Cloud Shell エディタのステータスバーで、[
Cloud Code ] をクリックし、[Run on Kubernetes] を選択します。デプロイ リクエストのコンテキストを選択するように求められたら、GKE クラスタに設定された [Use current context] を選択します。
[Choose image repository] ダイアログで、[gcr.io/PROJECT_NAME] を選択します。
Cloud Shell エディタによってアプリがコンテナにビルドされ、選択したリポジトリにコンテナが保存されます。
アプリが再ビルドされてデプロイされる過程を
[Development sessions ] ビューで確認できます。アプリが GKE にデプロイされているときに詳細なログメッセージを表示するには、[Development sessions] ビューで [Deploy to Cluster] ノードをクリックします。
実行中のアプリを表示するには:
[Development sessions] 見出しをクリックしてビューを閉じます。
[
Kubernetes ] ビューを開きます。GKE クラスタを開きます。
[Namespaces] > [default] > [Services] > [go-hello-world-external] > [External IPs] に移動します。
IP アドレスの上にポインタを置いて、[
Open URL] をクリックします。
これで、IDE から GKE アプリを作成してデプロイできました。
次のステップ
Google Cloud プロダクトの使用方法を示すコードサンプルを見る
IDE に Cloud Code をインストールする
課金が発生しないようにするため、クリーンアップを行う。別のチュートリアルを行う場合は、そのチュートリアルが完了するまで待ってから、クリーンアップを行ってください。サンプルの Kubernetes クラスタは、ほとんどの GKE チュートリアルで使用できます。