チュートリアル: Visual Studio で Bridge to Kubernetes を使用してローカルで実行およびデバッグする
手記
Bridge to Kubernetes は、2025 年 4 月 30 日に廃止されます。 提供終了とオープンソースの代替方法の詳細については、GitHub の問題を参照してください。
このチュートリアルでは、Kubernetes クラスターと開発用コンピューターの間でトラフィックをリダイレクトする方法について説明します。 このチュートリアルでは、Bridge to Kubernetes と Visual Studio を使用してサービスをデバッグします。 Visual Studio Code を使用するには、「VS Codeを使用して Bridge to Kubernetes を使用してローカルで実行およびデバッグする」を参照してください。
Bridge to Kubernetes の詳細については、「Bridge to Kubernetes のしくみ」を参照してください。
このチュートリアルでは、次の方法について説明します。
- Bridge to Kubernetes を使用してクラスターに接続します。
- 開発目的で、ローカルで実行されているサービスに要求をルーティングします。
- ローカル コンピューターで実行中のサービスをデバッグします。
前提 条件
- Kubernetes クラスター。 Azure portalで作成できます。 Azure サブスクリプションがない場合は、無料のアカウントを作成できます。
- kubectl 実行可能ファイルがシステムにインストールされています。
- Windows 10 以降で実行されている Visual Studio 2019 バージョン 16.7 以降、または Visual Studio 2022。
- Visual Studio 2019 用の Bridge to Kubernetes 拡張機能または Visual Studio 2022 用のBridge to Kubernetes 拡張機能。
サービスを設定する
このチュートリアルでは、Bridge to Kubernetes を使用して、任意の Kubernetes クラスターで簡単な todo サンプル アプリケーションを操作します。
サンプル アプリケーションには、対話するフロントエンドと、永続的なストレージを提供するバックエンドがあります。
Bash ウィンドウを開き、クラスターが使用可能で準備ができていることを確認します。 その後、そのクラスターにコンテキストを設定します。
kubectl cluster-info kubectl config use-context <kubernetes-cluster>
サンプル リポジトリを複製します。
git clone https://github.com/hsubramanianaks/b2k-samples
todo-app ディレクトリを変更し、サンプルの名前空間を作成します。
kubectl create namespace todo-app
配置マニフェストを適用します。
kubectl apply -n todo-app -f deployment.yaml
この単純なデプロイでは、
LoadBalancer
型のサービスを使用してフロントエンドを公開します。 すべてのポッドが実行され、frontend
サービスの外部 IP が使用可能になるまで待ちます。MiniKube でテストする場合は、
minikube tunnel
を使用して外部 IP を解決します。 AKS または別のクラウドベースの Kubernetes プロバイダーを使用している場合は、外部 IP が自動的に割り当てられます。次のコマンドを使用して、
frontend
サービスが稼働するまで待機することを監視します。kubectl get service -n todo-app frontend --watch NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE frontend LoadBalancer 10.0.245.78 10.73.226.228 80:31910/TCP 6m26s
クラスターに接続する
Visual Studio を開きます。 [作業の開始] ウィンドウで、[コードなしで続行] を選択します。
[開く] を選択し、>プロジェクト/ソリューション、それから todo-app\database-api\databaseApi.csproj プロジェクトを見つけて、[開く]を選択します。
プロジェクトで、次に示すように、起動設定から Bridge to Kubernetes を選択します。
Bridge to Kubernetesの横にある開始ボタンを選択します。 [Bridge to Kubernetes のプロファイルの作成] ダイアログ ボックスで、次の値を入力します。
- クラスター名を選択します。
- 名前空間 todo-app を選択します。
- リダイレクトする [サービス] として [database-api] を選択します。
- ブラウザーを起動するために以前に使用したのと同じ URL を選択します。
分離して実行する場合は、ルーティング分離を有効にする] を選択します。 ルーティング分離を有効にした場合、クラスターを使用している他のユーザーは変更の影響を受けられません。 分離モードでは、影響を受ける各サービスのコピーに要求がルーティングされます。 他のトラフィックを通常どおりにルーティングします。 詳細については、「Bridge to Kubernetes Works」を参照してください。
[保存とデバッグ] を選択して変更内容を保存します。
手記
EndpointManager は、ホストのファイル に対して管理者権限を許可するよう促しています。
開発用コンピューターがクラスターに接続します。 ステータス バーに、
database-api
サービスに接続されていることを示します。タスクを入力し、完了としてマークしてみてください。
デバッグ >デバッグの停止 を選択してデバッグを停止します。 このアクションのショートカットは、Shift +F5 をするか、ツール バーの [デバッグの停止] ボタンを使用します。
Bridge to Kubernetes は、database-api サービスのすべてのトラフィックをリダイレクトします。 開発用コンピューター上のアプリケーションのバージョンにリダイレクトされます。 また、Bridge to Kubernetes では、アプリケーションからすべての送信トラフィックが Kubernetes クラスターにルーティングされます。
手記
既定では、デバッグ タスクを停止すると、開発コンピューターも Kubernetes クラスターから切断されます。 この動作を変更するには、[ツール] >[オプション]をし、[Kubernetes デバッグ ツール] 選択します。 [デバッグ後に切断する] を [False] に設定します。
この設定を更新した後、デバッグを停止して開始すると、開発用コンピューターは接続されたままになります。 開発用コンピューターをクラスターから切断するには、ツール バーの [切断] ボタンをクリックします。
ブレークポイントを設定する
このセクションでは、サービスにブレークポイントを設定します。
ソリューション エクスプローラー で、MongoHelper.cs を選択してエディターでファイルを開きます。 ソリューション エクスプローラーが表示されない場合は、[表示]>[ソリューション エクスプローラー] を選択します。
CreateTask メソッド本体の最初の行にカーソルを設定します。 次に、[デバッグ] >[ブレークポイントの切り替え]選択してブレークポイントを設定します。
このアクションのショートカットは、F9 です。
前のセクションで行ったように、Bridge to Kubernetesの横にある開始ボタンを選択します。 デバッグは、前に入力した値から始まります。
開いたブラウザーで、[ToDo] に値を入力し、Enter キーを押します。 コードは、入力したブレークポイントに到達します。 実際のデバッグ タスクを実行するときに、デバッグ オプションを使用してコードをステップ実行できます。
デバッグ >デバッグの停止 を選択してデバッグを停止します。
ブレークポイントを削除するには、その行を選択し、[デバッグ] >[ブレークポイントの切り替え]選択するか、F9 選択します。
起動プロファイルを編集する
Bridge to Kubernetes がクラスターに接続する方法を変更する必要がある場合は、このセクションで起動プロファイルの設定を編集します。
Visual Studio のコマンド バーで、スタート ボタン (緑の三角形または "再生" アイコン) の横にある矢印をクリックしてドロップダウンを開き、databaseApi デバッグ プロパティ クリックします。
[起動プロファイル] ダイアログの [Bridge to Kubernetes のプロファイルを編集] リンクをクリックします。
を編集するためのリンクを含む [プロファイルの起動] ダイアログを示しています
この画面にアクセスする別の方法:
ソリューション エクスプローラーでプロジェクト ノードを右クリックし、[プロパティ] 選択します (または、Alt キー 押+Enterキーを押します)。
[デバッグ] まで下にスクロールし、[デバッグ起動プロファイル UI を開く] を選択します。
リソースのクリーンアップ
このチュートリアルでサンプル todo アプリを使用した場合は、Azure portal を使用してクラスターから削除できます。 そのリポジトリをローカルに複製した場合は、手動で削除できます。
次の手順
Bridge to Kubernetes の詳細については、「Bridge to Kubernetes のしくみ」を参照してください。
Visual Studio Code を使用して開発用コンピューターをクラスターに接続する方法については、次の記事を参照してください。