IDE からデプロイおよび更新する


Google Kubernetes Engine で実行するアプリケーションを開発する場合、IDE と Cloud Code プラグインを使用して、ローカルでのテストとデバッグ、テストクラスタへのデプロイなどの主要な開発タスクを簡素化できます。

目標

オンラインデモ IDE である Cloud Shell エディタで、次の開発タスクを行う方法を確認します。

  1. Kubernetes サンプルアプリを作成します。

  2. 開発環境でアプリのログを実行、更新、表示します。

  3. アプリを GKE クラスタにデプロイします。

Cloud Code をインストールする場合は、独自の IDE で同様のプロセスを行うことができます。


このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、[ガイドを表示] をクリックしてください。

ガイドを表示


費用

このドキュメントでは、課金対象である次の Google Cloudコンポーネントを使用します。

料金計算ツールを使うと、予想使用量に基づいて費用の見積もりを生成できます。 新規の Google Cloud ユーザーは無料トライアルをご利用いただける場合があります。

このドキュメントに記載されているタスクの完了後、作成したリソースを削除すると、それ以上の請求は発生しません。詳細については、クリーンアップをご覧ください。

始める前に

Kubernetes クラスタを作成します。方法については、クラスタを作成してワークロードをデプロイするをご覧ください。

Google Cloud プロジェクトとクラスタを選択する

このチュートリアルで後ほどアプリを GKE にデプロイするときに、 Google Cloud プロジェクトと GKE クラスタを指定する必要があります。

  1. GKE の [クラスタ] ページに移動します。

    [クラスタ] に移動

  2. GKE クラスタを含むプロジェクトを選択します。

  3. プロジェクトとクラスタの名前をメモします。

    この情報はあとで必要になります。

Cloud Shell エディタでアプリを作成する

  1. Google Cloud コンソールで、タスクバーの [Cloud Shell] をクリックして Cloud Shell を開きます。

  2. [エディタを開く] をクリックします。

  3. Cloud Shell エディタが初期化されるまで待ちます。

  4. Cloud Shell エディタで、[View] > [Command Palette] をクリックします。

  5. [Cloud Code: New Application] を検索してクリックします。

  6. [Kubernetes Application] を選択し、[Go: Hello World] を選択します。

    言語フレームワークによってエクスペリエンスが若干異なります。このチュートリアルでは、Go で使用できる機能について説明します。

  7. [Save] ダイアログで、[Create new application] をクリックします。

    Cloud Shell エディタが再読み込みされ、アプリのソースファイルがエクスプローラ ビューに表示されます。

アプリは以下で構成されます。

  • 基本的な go-hello-world ウェブアプリ(main.go)。受信したすべてのリクエストに対して、テンプレートに記述されている「It's running!」というレスポンスを返します。

  • Kubernetes Deployment の仕様(hello.deployment.yaml)。

  • アプリ hello.service.yaml のロードバランサを定義する Kubernetes Service の仕様。

  • アプリ skaffold.yaml のビルドとデプロイのワークフローを処理する Skaffold ファイル。

開発環境でアプリを実行する

可能であれば、GKE にデプロイする前に開発環境でアプリを実行してください。これにより、 Google Cloud 割り当てを使用せずに潜在的な問題を特定できます。

Cloud Shell エディタ環境でアプリを実行するには:

  1. Cloud Shell エディタで、[Terminal] > [New Terminal] をクリックします。

  2. 次のコマンドを実行してクラスタを起動します。

    minikube start
    

    minikube は軽量の Kubernetes 実装で、ローカル環境に VM を作成し、ノードが 1 つだけ含まれるシンプルなクラスタをデプロイします。

    minikube クラスタの設定に 1 分ほどかかる場合があります。

  3. Cloud Shell に Cloud API の呼び出しを認可するよう求められたら、[Authorize] をクリックします。

    クラスタの設定後、次のようなメッセージが表示されます。

    Done! kubectl is now configured to
    use "minikube" cluster...
    

minikube を設定したら、アプリをビルドして実行します。

  1. Cloud Shell エディタのステータスバーで、[Cloud Code] をクリックします。

  2. [Run on Kubernetes] を選択します。

  3. プロンプトが表示されたら、現在の minikube コンテキストを使用することを確認します。

    Cloud Shell エディタがアプリをビルドし、minikube クラスタにデプロイします。

  4. [Development sessions] ビューでデプロイのステータスを確認します。

    デプロイが完了すると、[Portforward URLs] の横に緑色のチェックマークが表示されます。[Stream Application Logs] の横に回転アイコンが表示されます。

  5. アプリを表示するには、[Development sessions] ペインで、[Port Forward URLs] > [service] を見つけます。

  6. [go-hello-world-external] の上にポインタを置いて、[ Open URL] クリックします。

アプリを編集する

アプリ内のソースファイルを変更すると、Cloud Shell エディタが自動的にアプリをビルドして、現在接続しているクラスタにデプロイします。この例では、minikube クラスタに接続しています。

アプリを編集してローカルの minikube クラスタに再デプロイするには:

  1. main.go ファイルを変更して「It's redeployed!」と出力するようにします。このファイルは自動的に保存されます。

  2. アプリが再ビルドされてデプロイされる過程を [Development sessions] ビューで確認できます。

  3. 再デプロイしたアプリを以前と同じように表示します。

    1. [Development sessions] ペインで、[Port Forward URLs] > [service] を見つけます。

    2. [go-hello-world-external] の上にポインタを置いて、[ Open URL] クリックします。

アプリのログを表示する

  1. Cloud Shell エディタのメニューバーで、[View] > [Command Palette] を選択します。

  2. [Cloud Code: View Logs] を検索してクリックします。

    ログビューアが開きます。

  3. [Deployment] で、go-hello-world を選択します。

    これにより、ログビューアがフィルタされ、go-hello-world アプリのログのみが表示されます。

  4. アプリのタブに [It's redeployed!] と表示されます。ブラウザでページを再読み込みしてから、Cloud Shell タブに戻ります。

  5. 新しく生成されたログをログビューアで表示するには、 [Refresh] をクリックします。

アプリを GKE クラスタにデプロイする

  1. デプロイ先として選択可能なクラスタのリストに GKE クラスタを追加します。

    1. [Kubernetes] ビューで、 [Add a Cluster to the KubeConfig] をクリックします。

    2. [Choose a platform] ダイアログで [Google Kubernetes Engine] をクリックします。

    3. Google Cloud API を有効にするように求められたら、[はい] をクリックします。

    4. Cloud Shell エディタがGoogle Cloud プロジェクト内のクラスタを検出するまで待ちます。

    5. [Create or choose a GKE cluster] ダイアログで、作成したクラスタの名前(hello-world-cluster)を選択します。

  2. Cloud Shell エディタのステータスバーで、[Cloud Code] をクリックし、[Run on Kubernetes] を選択します。

  3. デプロイ リクエストのコンテキストを選択するように求められたら、GKE クラスタに設定された [Use current context] を選択します。

  4. [Choose image repository] ダイアログで、[gcr.io/PROJECT_NAME] を選択します。

    Cloud Shell エディタによってアプリがコンテナにビルドされ、選択したリポジトリにコンテナが保存されます。

  5. アプリが再ビルドされてデプロイされる過程を [Development sessions] ビューで確認できます。

  6. アプリが GKE にデプロイされているときに詳細なログメッセージを表示するには、[Development sessions] ビューで [Deploy to Cluster] ノードをクリックします。

  7. 実行中のアプリを表示するには:

    1. [Development sessions] 見出しをクリックしてビューを閉じます。

    2. [Kubernetes] ビューを開きます。

    3. GKE クラスタを開きます。

    4. [Namespaces] > [default] > [Services] > [go-hello-world-external] > [External IPs] に移動します。

    5. IP アドレスの上にポインタを置いて、[ Open URL] をクリックします。

これで、IDE から GKE アプリを作成してデプロイできました。

次のステップ