Cloud Code for Cloud Shell Kubernetes の概要

このページでは、Cloud Code での Kubernetes 開発の概要について説明します。

Cloud Code で Kubernetes Explorer を使用する

Kubernetes Explorer ペインを使用すると、IDE から直接、クラスタ、ノード、ワークロードなどに関する情報にアクセスできます。 また、Kubernetes Explorer で現在のコンテキストの設定ログのストリーミングと表示インタラクティブ ターミナルのオープンリソースの説明の検索ができます。

Cloud Code の Kubernetes Explorer

Cloud Code は、MacOS/Linux の $HOME/.kube ディレクトリまたは Windows の %USERPROFILE%\.kube ディレクトリにあるデフォルトの kubeconfig ファイルを使用して、Kubernetes リソースを取得します。新しい Kubeconfig ファイルは、Kubernetes Explorer 内から切り替えまたは追加できます。Kubeconfig ファイルは、Kubernetes クラスタの詳細、証明書、クラスタに対する認証用のシークレット トークンを含む YAML ファイルです。

デフォルトの kubeconfig 以外の kubeconfig ファイルを使用するには、kubeconfig ファイルの操作ガイドをご覧ください。

Kubernetes Explorer にアクセスする

Kubernetes リソースを表示して管理するには、 Cloud Code をクリックして Kubernetes セクションを展開し、Kubernetes エクスプローラにアクセスします。デバッグ セッションを表示する、またはサンプルアプリを作成するには、開発セッション セクションを展開します。

[Development sessions] セクションにアクセスする

開発セッションを使用して、Kubernetes アプリケーションを実行またはデバッグするか、テンプレートを使用してサンプル アプリケーションを作成します。

開発、デバッグのセッションを開始すると、[Development sessions] セクションに構造化ロギングビューが表示されます。

[開発セッション] ペイン

開発セッションにアクセスするには、 [Cloud Code] をクリックし、[開発セッション] セクションを展開します。

基本操作

Kubernetes Explorer では kubectl が使用されています。クラスタにアクセスするように kubectl コンテキストを構成すると、アクティブまたは非アクティブのコンテキストに関係なく、Kubernetes Explorer を使用して、クラスタの追加、クラスタのすべての Namespace、リソース、ノードの参照を行うことができます。

クラスタ セクション

Kubernetes Explorer の [クラスタ] セクションのアイコンからアクセスできる一般的な Kubernetes のアクションは次のとおりです。

  • add KubeConfig にクラスタを追加する
  • refresh Kubernetes Explorer を更新する
  • question_mark ウェブブラウザで Cloud Code Kubernetes ドキュメントを開く

開発セッション セクション

Kubernetes の [開発セッション] セクションのアイコンからアクセスできる Kubernetes のアクションは次のとおりです。

  • Kubernetes のサンプルを開くアイコン Kubernetes サンプル アプリケーションを開く
  • play_allow アプリケーションを実行する
  • デバッグ アイコン アプリケーションをデバッグする

リソース名をコピーする

Kubernetes リソース名(コンテナ名とクラスタ名を含む)をクリップボードにコピーできます。リソース名をコピーするには、リソースを右クリックして [リソース名をコピー] を選択します。

右クリック メニューを使用してリソース名をコピーする

リソースを更新する

Kubernetes Explorer により変更が監視され、更新を反映するために自動的に更新されます。Kubernetes リソースを強制的に更新して最新の情報を取得するには、リソースを右クリックして [更新] を選択します。

右クリック メニューを使用して Pod を更新する

[クラスタ] セクションの更新ボタンを使用して、Kubernetes Explorer の [クラスタ] セクション全体を強制的に更新することもできます。

クラスタ セクションの更新ボタン

リソースを説明する

クラスタ以外のリソースの詳細を表示するには、リソースを右クリックして [説明] を選択します。ターミナルが開き、リソース情報が表示されます。右クリック メニューでリソースの詳細を説明する

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

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

リモート YAML を表示する

クラスタ内のリソースの YAML を表示するには、リソースを選択するかカーソルを合わせると、次の情報が表示されます。 YAML を編集する YAML を表示アイコンが表示されます。[YAML を表示] ボタンを選択して、指定したリソースに対応する YAML ファイルを新しいエディタタブで開きます。

[YAML を表示] アイコンを使用して開いた Kubernetes サービス YAML

ログの表示

Kubernetes リソースから Kubernetes Explorer コンソールにログをストリーミングして表示し、進捗状況をモニタリングできます。

ログビューアを開くには、Ctrl/Cmd+Shift+P を押してコマンド パレットを開くか、[View] > [Command Palette] をクリックして [Cloud Code: View Logs] を選択します。

コマンド パレットのログ表示ダイアログ

新しいエディタタブでログビューアが開きます。

ログビューア Pod またはコンテナのログを表示するには、リソースを右クリックして [ログを表示] を選択します。

Pod のログの表示

ターミナルを起動する

Pod とコンテナの場合は、Pod またはコンテナを右クリックして [ターミナルを取得] を選択することで、インタラクティブ ターミナルを開くことができます。

インタラクティブ ターミナルを開く

リソース固有の操作

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

クラスタ

  • KubeConfig にクラスタを追加: 既存の GKE クラスタまたは minikube クラスタを追加するか、新しいクラスタを作成します。

[Add Cluster] ダイアログが表示されるので、使用するプロジェクトとクラスタを選択するか、新しいクラスタを作成します。

クラスタ プラットフォームの選択

GKE クラスタを作成または選択する

  • アクティブ クラスタに設定: 指定されたクラスタをアクティブとして設定し、構成済みの kubectl コンテキストがデフォルトでこのクラスタにアクセスするようにします。

    右クリック メニューを使用してクラスタをアクティブとして設定する

Kubernetes Explorer が自動的に更新され、該当するクラスタの横に Kubernetes の記号が表示されます。

クラスタに複数のコンテキストが構成されている場合は、使用可能なコンテキストの 1 つを選択して、現在のコンテキストとして設定できます。

Namespace

  • アクティブな Namespace に設定: 指定された Namespace をアクティブとして設定し、構成済みの kubectl コンテキストがデフォルトでこの Namespace にアクセスするようにします。

    アクティブに設定する Namespace を右クリックします。

    右クリック メニューを使用して Namespace を現在のコンテキストとして設定する

この操作が成功すると、Kubernetes Explorer が自動的に更新され、現在のコンテキストの一部であることを示すため、Namespace の横にアスタリスクが表示されます。

Kubernetes コンテキストは、クラスタ内の Namespace にすばやくアクセスするためのショートカットです。コンテキストは通常、minikube クラスタまたは GKE クラスタを起動すると自動的に作成されます。特定の Namespace に対して [現在のコンテキストに設定] オプションが表示されず、そのコンテキストを作成する場合は、ターミナルで kubectl config set-context コマンドを使用して、好みのクラスタ、ユーザー、Namespace でコンテキストを設定します。

Pod

  • ログの表示: Pod から Kubernetes Explorer Console にログを表示します。
  • ターミナルの取得: Kubernetes Explorer Console で Pod のターミナルを取得します。

    また、実行中の Pod では、ラベルの横に色付きのステータス マークが表示されます。

    • : Pod は失敗状態です。
    • 黄色: Pod が起動中または終了中です。
    • : Pod は正常で、実行中です
Pod の横の正常な状態を示す緑色のチェックマーク

コンテナ

  • ログの表示: コンテナから Kubernetes Explorer Console にログを表示します。
  • ターミナルの取得: Kubernetes Explorer Console でコンテナのターミナルを取得します。

デプロイメント

  • ログの表示: Deployment から Kubernetes Explorer Console にログを表示します。

    ライブ Deployment では、ラベルの横に色付きのステータス マーク、現在のレプリカ数、合計レプリカの数が表示されます。

    • 黄色: Deployment に最小限の可用性がないか、イメージに問題があります。
    • : Deployment は正常で、最小限の可用性が確保されていました。
正常な状態を示す緑色の Deployment アイコン

ノード

クラスタのノードの Namespace の横に色付きのステータス マークが表示されます。

  • 黄色: ノードにリソースの問題(メモリやディスクの可用性など)があります。
  • : ノードは正常です。

カスタム リソース定義(CRD)

Kubernetes Explorer には、クラスタにインストールされ、使用可能なすべてのカスタム リソース定義(CRD)が表示されます。

Explorer のカスタム リソース定義のリスト

次のステップ