通常、Kubernetes アプリケーションのデプロイと管理には、YAML マニフェストの記述、kubectl コマンドの実行、複数のツールの切り替えが必要です。 AKS デスクトップでは、開発者と DevOps エンジニアが Kubernetes の高度な専門知識なしでアプリケーションをデプロイ、監視、トラブルシューティング、クリーンアップできるガイド付きワークフローを使用して、この複雑さが排除されます。
このガイドでは、AKS デスクトップを使用して TypeScript アプリケーションをデプロイする手順について説明します。クラスターの作成から、アプリケーション ログ、メトリック、スケーリング、組み込みのトラブルシューティング ツールの探索までについて説明します。
前提条件
- Azure のサブスクリプション。 Azure サブスクリプションをお持ちでない場合は、無料の Azure アカウントを作成できます。
- Azure CLI バージョン 2.64.0 以降をインストールする必要があります。
az --versionコマンドを使用してバージョンを確認します。 インストールまたはアップグレードするには、「Install Azure CLIを参照してください。 -
aks-previewAzure CLI 拡張機能。az extension add --name aks-previewコマンドを使用してインストールします。 - AKS デスクトップ がインストールされています。 AKS デスクトップでは、Windows、Linux、Mac のオペレーティング システム (OS) がサポートされています。
- 既存のクラスターを使用する場合、クラスターは Microsoft Entra ID 認証されている必要があります。 クラスターが Microsoft Entra ID で認証されていることを確認するには、 AKS 自動クラスターを使用します。 また、 Azure Kubernetes Service RBAC クラスター管理者ロール またはターゲット クラスターに対する同等のアクセス許可も必要です。
Azure リソースを作成する
既存の AKS クラスターと Azure Container Registry (ACR) がない場合は、Azure CLI を使用して作成できます。 これらのセクションでは、新しいリソース グループ、AKS クラスター、および ACR を作成する方法について説明します。 これらのリソースが既にある場合は、「 AKS デスクトップにクラスターを登録する」に進むことができます。
環境変数の設定
コマンドを簡略化するには、ターミナルで次の環境変数を設定します。
myLocationは必ず Azure リージョンに設定してください。 この例では、 RAND を使用して一意のリソース名を作成します。 必要に応じて、これらを独自の値に置き換えることができます。
RAND=$RANDOM
export RAND
echo "Random resource identifier will be: ${RAND}"
myResourceGroup=bbash$RAND
myLocation=westus3
myClusterName=clu-$RAND
registryName=bbashreg$RAND
リソース グループを作成します
az group create コマンドを使用して、Azure リソース グループを作成します。
az group create --name $myResourceGroup --location $myLocation
Azure コンテナー レジストリを作成する
az acr create コマンドを使用して Azure コンテナー レジストリを作成します。
az acr create --resource-group $myResourceGroup --name $registryName --sku Basic
ACR 統合を使用して AKS クラスターを作成する
az aks create コマンドを使用して、ACR 統合を使用して AKS クラスターを作成します。
--attach-acr パラメーターは、ACR からイメージをプルするアクセス許可を AKS クラスターに付与します。 このコマンド例では、 --sku も automaticに設定します。 AKS デスクトップで最適なエクスペリエンスを得るための AKS 自動クラスターを使用することをお勧めしますが、Standard クラスターを使用することもできます。
az aks create --resource-group $myResourceGroup --name $myClusterName --sku automatic --attach-acr $registryName
クラスター管理者のアクセス許可を付与する
az aks showコマンドを使用してクラスター リソース ID を取得し、環境変数に設定します。AKS_ID=$(az aks show --resource-group $myResourceGroup --name $myClusterName --query id --output tsv)az role assignment createを使用して、 コマンドを使用してクラスターに対する管理者アクセス許可を自分自身に付与します。<your-entra-id>は必ず Microsoft Entra ID オブジェクト ID に置き換えてください。az role assignment create --role "Azure Kubernetes Service RBAC Cluster Admin" \ --assignee <your-entra-id> \ --scope $AKS_ID
テスト用のコンテナー イメージを作成する
この例では 、Contoso Air サンプル アプリケーションからイメージを作成しますが、任意のコンテナー イメージを使用して、AKS デスクトップでアプリケーションのデプロイをテストできます。 別のイメージを使用する場合は、デプロイ手順でイメージの詳細を置き換えてください。
新しいディレクトリを作成し、そこに移動して、Contoso Air サンプル アプリケーションを複製します。 次に、Web アプリケーション ディレクトリに移動します。 別のアプリケーションまたはディレクトリ構造を使用している場合は、それに応じてこれらのコマンドを調整します。
mkdir myapp cd myapp git clone https://github.com/Azure-Samples/contoso-air cd contoso-air/src/webaz acr buildコマンドを使用して、コンテナー イメージをビルドしてコンテナー レジストリにプッシュします。 別のイメージを使用している場合は、それに応じてイメージ名とパスを更新してください。az acr build --resource-group $myResourceGroup --registry $registryName --image contosoair:v1 .
クラスターを AKS デスクトップに登録する
AKS クラスターにアクセスできるのと同じアカウントで AKS デスクトップにサインインしていることを確認します。 サインインしたら、[ Azure サブスクリプションから追加] を選択します。
複数ある場合は、Azure サブスクリプションの名前を入力します。 (または、矢印を選択してドロップダウン リストを開き、Azure サブスクリプションを選択します)。
クラスターを選択し、[クラスターの登録] を選択します
AKS デスクトップでマネージド プロジェクトを作成する
AKS デスクトップで、[ プロジェクト ] タブに移動し、[ 新しいマネージド プロジェクトの作成] を選択します。
次のプロジェクト設定を構成します。
-
基本:
- プロジェクト名: 次に例を示します。
my-dev-frontend - サブスクリプション:
<your-subscription-name> - クラスター:
<your-cluster-name>
- プロジェクト名: 次に例を示します。
Note
Azure サブスクリプションと AKS クラスターを設定すると、AKS デスクトップ では、AKS デスクトップ エクスペリエンスに必要なクラスターとサブスクリプション機能のサポートがチェックされます。
ネットワーク ポリシー: このクイック スタートの既定の設定をそのままにするか、必要に応じて更新することができます。
- アプリケーションをパブリックに公開するには、 イングレス を
Allow all trafficに変更します。
- アプリケーションをパブリックに公開するには、 イングレス を
コンピューティング クォータ: テスト アプリケーションの既定値のままにします。
アクセス: 他のユーザーを追加するか、行項目を削除してエントリを削除します。
-
基本:
[ 確認] で、プロジェクトの設定を確認し、[ プロジェクトの作成] を選択します。
アプリケーションをデプロイする
アプリケーション名を指定し、[アプリケーションの 作成] を選択します。
アプリケーションのソースを選択します。 この例では、[ コンテナー イメージ>次へ] を選択します。
次のアプリケーション設定を構成します。 既定値をそのまま使用することも、必要に応じて更新することもできます。
コンテナー イメージ名:
- コンテナー イメージ名を追加します。 この例では、
myacr.azurecr.io/contosoair:v1を使用します。
Important
latestタグは使用できません。v1などの明示的なタグを指定します。- コンテナー イメージ名を追加します。 この例では、
ネットワーク:
- ターゲット ポート: 例のコンテナーの場合は、
3000に設定します。 - パブリック アクセスを有効にする: パブリック URL からアプリケーションにアクセスする場合に設定します。
- ターゲット ポート: 例のコンテナーの場合は、
HPA (水平ポッド オートスケーラー):
- HPA を有効にする: リソースの使用状況に基づいてアプリケーションの自動スケーリングを有効にするように設定します。
[ デプロイ] を選択してアプリケーションをデプロイします。 アプリケーションのデプロイが完了するまでに数分かかる場合があります。 配置の状態は、[プロジェクトの概要] ページで確認できます。 アプリケーションを探索する前に、すべてのリソースが正常な状態になるまで待ちます。
アプリケーションを調べる
[プロジェクトの概要] ページでは、次のタブを使用してアプリケーションを探索できます。
- リソース: アプリケーションのすべての Kubernetes リソースを表示します。
- マップ: すべての Kubernetes リソースが相互に対話し、相互に依存する方法を視覚化します。
- ログ: ポッド ログを表示します。
- メトリック: コア アプリケーション リソースの消費量を表示します。
- スケーリング: スケーリング イベントを表示し、更新を行います。
- 分析情報: DNS エラー、ネットワーク トラフィック、およびリソースの使用状況 (プレビュー) のトラブルシューティングを行います。 詳細については、「 Insights を使用した AKS デスクトップでのアプリケーションのトラブルシューティング」を参照してください。
- 削除: プロジェクトを削除します。
- AI アシスタント: 自然言語を使用して、クラスターの問題を診断して解決します (プレビュー)。 詳細については、「 AKS デスクトップで AI トラブルシューティング アシスタントを使用する」を参照してください。
リソースをクリーンアップする
クイック スタートが完了したら、不要なコストを回避するために作成したリソースをクリーンアップできます。
プロジェクトを削除するには、[削除] を選択 します。 基になる Azure マネージド名前空間リソースも削除する場合は、[ 名前空間も削除する] を選択します。
関連するコンテンツ
AKS デスクトップの詳細については、次のリソースを参照してください。