VS Code での Kubernetes の利用
このドキュメントでは、Visual Studio Code を使用して Kubernetes にアプリケーションをデプロイするプロセスを順を追って説明します。Kubernetes は、コンテナ化されたアプリケーションのデプロイ、スケーリング、および管理を自動化するためのオープンソースシステムです。ここでは、Kubernetes クラスターの作成方法、アプリケーションに関する必要な情報を記述した Kubernetes マニフェストファイル(通常は YAML 形式)の作成方法、そして最終的にアプリケーションを Kubernetes クラスターにデプロイする方法を紹介します。
開始する前に
Docker と kubectl のツールが必要になります。マシン上での Docker のセットアップに関する詳細は「Install Docker」のドキュメントを、kubectl のインストールについては「Install kubectl」を参照してください。作業を進める前に、シェルから Docker および kubectl コマンドを実行できることを確認してください。
minikube を使用してローカルの Kubernetes クラスターを作成することも、Azure Kubernetes Service (AKS) で Azure Kubernetes クラスターを作成することも可能です。このチュートリアルでは Azure Kubernetes Service (AKS) を使用します。デプロイ手順のために Azure アカウントを準備しておく必要があります。
Kubernetes 拡張機能のインストール
完全に統合された Kubernetes エクスペリエンスを実現するために、Kubernetes Tools 拡張機能をインストールできます。これにより、Kubernetes マニフェストや HELM チャートを迅速に開発できるようになります。この拡張機能を使用すると、コンテナ化されたマイクロサービスベースのアプリケーションをローカルまたは Azure Kubernetes クラスターにデプロイしたり、Kubernetes クラスター上のコンテナで実行中のライブアプリケーションをデバッグしたりすることも可能です。また、VS Code 内で Kubernetes クラスターの参照や管理が容易になり、Draft とのシームレスな統合により Kubernetes 開発を効率化できます。
Kubernetes 拡張機能をインストールするには、拡張機能ビュー (⇧⌘X (Windows, Linux Ctrl+Shift+X)) を開き、「kubernetes」で検索します。Microsoft の Kubernetes 拡張機能を選択してください。

アプリケーションのコンテナ化と公開
Working with Docker(Docker の利用)チュートリアルに従って、プロジェクトのビルド、Docker イメージの生成、および Microsoft Container Tools Extension を介したパブリックまたはプライベートコンテナレジストリへのプッシュを行うことができます。
Kubernetes クラスターの作成と設定
VS Code の Kubernetes 拡張機能を使用して、Azure 上で実行される Kubernetes クラスターを作成できます。Kubernetes 拡張機能をインストールすると、エクスプローラーに KUBERNETES が表示されます。More をクリックし、Create Cluster を選択してください。指示に従ってクラスターの種類(ここでは Azure Kubernetes Service を選択)を選び、サブスクリプションを選択し、Azure クラスターおよび Azure エージェントの設定を行います。ワークフロー全体が完了するまで数分かかります。

重要: Azure 上で Kubernetes クラスターを作成するには、Azure CLI をインストールしてサインインする必要があります。
ヒント: 利用可能な RSA キーファイルがないとエラーが発生します。Azure Kubernetes クラスターを作成する前に、「create SSH public-private key」に従ってキーを作成してください。

ヒント: Azure Kubernetes クラスターの作成時に、場所と VM サイズの競合を示すエラーが発生する場合があります。適切な場所と VM サイズを選択するように注意してください。

Azure Kubernetes Service へのアプリケーションのデプロイ
Kubernetes 拡張機能は、Kubernetes マニフェストファイルの入力補完、コードスニペット、および検証機能を提供します。たとえば、空の YAML ファイルに「Deployment」と入力すると、基本的な構造を持つマニフェストファイルが自動生成されます。あとはアプリ名、イメージ、ポートを手動で入力するだけです。

以下はマニフェストファイルの例です

マニフェストファイルの準備ができたら、1 つのコマンドを実行するだけでデプロイを開始できます。コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) を開き、Kubernetes: Create を実行します。これにより、アプリケーションが Kubernetes クラスターにデプロイされ、開いている Kubernetes マニフェストファイルの設定に従ってオブジェクトが作成されます。

デプロイの確認
デプロイ後、Kubernetes 拡張機能を使用してアプリケーションの状態を確認できます。エクスプローラーから Workloads をクリックし、Pods を右クリックして Get を選択すると、アプリケーションが開始されたかどうかを確認できます。アプリの状態を表示するには、Services を選択し、アプリを右クリックして Get をクリックします。状態が統合ターミナルに出力されます。アプリケーションに EXTERNAL_IP が割り当てられたら、ブラウザーを開いて実行中の Web アプリを確認できます。

おめでとうございます!これでアプリは Azure Kubernetes Service 上で正常に実行されています!
次のステップ
- Azure 拡張機能 - VS Code Marketplace には、Azure およびクラウド向けの何百もの拡張機能があります。
- Azure へのデプロイ - アプリケーションを Azure にデプロイする手順を段階的に学びます。