Cloud Code for IntelliJ で Kubernetes を使ってみる

Cloud Code を使用すると、サンプルや既存のプロジェクトから Kubernetes アプリケーションを作成できます。

テンプレートからアプリケーションを作成する

Cloud Code には、すぐに使用を開始できるコードサンプル テンプレートが用意されています。既存のサンプルを使用して Kubernetes アプリケーションを作成するには、次の手順に沿って操作します。

  1. [ファイル] > [新しいプロジェクト] の順に開きます。
  2. [Cloud Code: Kubernetes] を選択します。
  3. スターター アプリケーションのリストからテンプレートを選択します。
  4. プロジェクトの名前を選択します。

    [完了] をクリックすると、Cloud Code によって選択したテンプレートのクローンが作成され、使用するために新しく作成したプロジェクトが開かれます。

    Java テンプレートの場合、pom.xml を同期するために Maven プロジェクトをインポートするよう求められます。[Add as Maven project] をクリックします。 また、必要な Maven プロジェクトをインポートするには、[Import Changes] をクリックします。

  5. プロジェクトの Kubernetes 実行ターゲットと、開発 IDE 実行ターゲットが自動的に作成され、実行可能な状態になります。

    省略可: 手動で実行ターゲットを作成することもできます。

    1. プルダウンから [Run Configuration] を選択し、[Edit Configurations] をクリックします。
    2. [+ Add New Configuration] をクリックして新しい実行構成を追加します。
    3. [Cloud Code: Kubernetes] に移動する
    4. 新しい構成の名前を入力します(デフォルトは「Unnamed」)。
    5. [OK] をクリックして実行ターゲットを作成します。

独自のアプリケーションを使用する

既存のプロジェクトを使用する手順については、既存の Kubernetes アプリケーションで Cloud Code を使用するをご覧ください。

Kubernetes コンテキストを設定する

アプリケーションを実行する前に、アプリが目的の Kubernetes コンテキストにデプロイされるように設定されていることを確認します。これは構成で指定できます。

現在のコンテキストを切り替える場合は、Kubernetes Explorer を使います。右側のサイドバー パネルか、[ツール] > [Cloud コード] > [Kubernetes] > [View Cluster Explorer] で表示できます。

イメージの再ビルドを行わずに、特定の種類のファイルの変更をすばやく取得することで、開発ループを最適化するには、ファイルの同期とホットリロードを有効にします。

構成

Cloud Code: Develop on Kubernetes の実行構成を使用する場合は、利用可能な設定を構成して Deployment をカスタマイズできます。

構成を追加または編集するには、[実行] > [構成を編集] に移動します。

コンテナ イメージ ストレージ オプション

コンテキストとしてリモート クラスタを選択した場合は、イメージの push 先となるイメージ レジストリを選択します。実行 >構成を編集次に、イメージ レジストリを実行/デバッグ構成に移動します。

詳細については、コンテナ イメージの保存に関するガイドをご覧ください。

ビルド設定

Cloud Code は、Docker、Jib、Buildpacks のアーティファクト タイプをサポートしています。優先するビルダーとそれに関係する設定の設定方法については、コンテナ イメージのビルド設定の構成ガイドをご覧ください。

起動構成をカスタマイズする

アプリケーションの実行方法を設定するには、skaffold.yaml ファイルをカスタマイズできます。

起動は [Run/Debug 構成] で設定することもできます。構成を編集するには、[実行] > [構成を編集] に移動します。

起動構成のカスタマイズの詳細については、Cloud Code の Kubernetes をご覧ください。

アプリケーションの実行

アプリケーションを設定したら、skaffold dev を利用して、それを Kubernetes クラスタで実行し、ライブで表示できます。 ローカル クラスタ(Minikube や Docker Desktop など)、Google Kubernetes Engine、その他のクラウド プロバイダでアプリケーションを実行できます。

  1. 目的の実行アクションの [実行] ボタンをクリックします。受信アプリケーション ログは、[ログ] タブの出力ウィンドウで確認できます。

    デプロイが開始されると、デプロイされたアプリケーション用の転送ポートのリストが表示されます。

  2. デプロイが成功すると、新しいサービス URL が利用可能であることが通知されます。[サービス URL] タブをクリックして URL を表示し、URL リンクをクリックしてブラウザを実行して実行中のアプリケーションを開きます。

    別の方法としては、[イベントログ] を開き、リンクをクリックして、ブラウザで実行中のアプリケーションを開くこともできます。

    [デプロイされたリソース] ペインには、開発セッションでデプロイしたリソースが表示されます。

ログの表示

アプリケーションの開発中および実行中に、ターミナル出力内で実行中の Pod から出力されるログのライブ ストリームを表示できます。また、Kubernetes Explorer に移動すると、特定の Pod のログを表示することもできます。

特定の Pod のログを表示する手順は次のとおりです。

  1. Kubernetes Explorer に移動します。右側のサイドパネルからアクセスできます。また、[Tools] > [Cloud Code] > [Kubernetes] > [View Cluster Explorer] でアクセスすることもできます。

  2. ログを表示する Pod を選択します。

  3. Pod を右クリックして [ログのストリーム] をクリックします。また、Pod で実行されている個々のコンテナのログをストリーミングすることもできます。

    Kubernetes Explorer Console にログが表示されます。

変更、再ビルド、クリーンアップ

起動構成でウォッチモードが [オンデマンド] に設定されており、アプリケーションを変更してから、アプリケーションの再ビルドと再デプロイを行う場合。

  1. 変更を加えて保存します。

  2. [Trigger Build and Deploy] アイコンをクリックするか、Option + Ctrl/Cmd + Comma を押してアプリケーションを再ビルドして再デプロイします。

  3. アプリケーションの実行を停止するには、停止アイコンをクリックするか、Ctrl/Cmd + F2 を押します。

アプリケーションを停止すると、デプロイされたすべての Kubernetes リソースがクラスタから削除されます。この動作は、起動構成の cleanUp フラグを使用して変更できます。

Secret を保存する

API キー、パスワード、証明書などの潜在的なセンシティブ データがコードに含まれている場合は、シークレットとして保管することをおすすめします。Cloud Code を使用すると、Secret を Secret Manager に安全に保管し、必要に応じてプログラムで取得できます。

Cloud Code でシークレットを作成および管理する方法の詳細については、シークレット マネージャー ガイドをご覧ください。

リソースの詳細を表示

Kubernetes Explorer には、クラスタ、Namespace、ノード、ワークロード(Deployment、レプリカセット、Pod、コンテナなど)、サービスと Ingress、構成(Secret、構成マップなど)、ストレージ(ボリュームなど)が表示されます。Kubernetes Explorer を使用すると、これらのリソースの一部に対して独自のアクションを実行できます。

リソースの詳細の表示について詳しくは、Kubernetes の概要をご覧ください。

次のステップ

サポートを受ける

IntelliJ IDE でフィードバックを送信するか、問題を報告するには、[Tools] > [Cloud Code] > [Help / About] > [Submit feedback or report an issue] を選択します。ここから、GitHub で問題を報告したり、Stack Overflow で質問したりできます。