プロジェクトは、AKS デスクトップでアプリケーションを管理するための主要なユニットです。 プロジェクトは、デプロイ、サービス、構成などの関連する Kubernetes リソースを 1 つの論理ユニットにグループ化します。 この記事では、AKS デスクトップのプロジェクトの概要について説明します。その利点、機能、従来の Kubernetes 名前空間との比較について説明します。
AKS デスクトップでプロジェクトを使用する理由
プロジェクトを使用すると、次の作業が簡単になります。
- アプリケーションの境界を理解する。
- RBAC を使用してアクセスを管理します。
- すべてのリソースを 1 か所で表示します。
- Kubernetes と Azure リソースの所有権を属性化し、コストを管理します。
プロジェクトの名前空間のラベル付けとアクセス
AKS デスクトップでプロジェクトを作成すると、そのプロジェクトは Kubernetes 名前空間に関連付けられます。 AKS デスクトップでは、名前空間の Kubernetes ラベルを使用して、UI にプロジェクトとして表示されるラベルを決定します。 関連付けられた名前空間へのアクセス権を持つすべてのユーザーが Project を表示できるため、名前空間へのアクセスとラベル付けによって、各プロジェクトを表示できるユーザーが決まります。
次のいずれかのオプションを使用して、AKS デスクトップでプロジェクトを作成できます。
- 既存の名前空間を使用する: このオプションを使用すると、既存の Kubernetes 名前空間をプロジェクトとして AKS デスクトップにインポートできます。 これは、既にアプリケーションがデプロイされていて、中断することなく AKS デスクトップ経由でアプリケーションを管理する場合に便利です。 名前空間をインポートすると、AKS デスクトップによって Kubernetes ラベルが追加され、プロジェクトとして表示されます。
- 新しい名前空間を作成する: このオプションでは、新しい標準の Kubernetes 名前空間が作成されます。これにより、アプリケーション リソース、プロパティ、マップを管理するための基本的な機能が提供されます。 このオプションは、 Headlamp プロジェクトでもサポートされています。
- 新しい AKS マネージド名前空間を作成する: この拡張プロジェクトの種類は、既定で AKS マネージド名前空間に直接リンクされます。これは、クラスター内のワークロードとチームを論理的に分離する方法です。 この機能を使うと、管理者はリソース クォータを適用し、ネットワーク ポリシーを適用し、名前空間レベルでアクセス制御を管理することができます。 マネージド名前空間は、Azure リソースと Kubernetes リソースをグループ化します。これは、所有権の属性、コスト管理、アプリケーションに属するすべてのものを識別するのに役立ちます。 Project は 1 つ以上のアプリケーションで構成できます。ほとんどの例では、シンプルなアプリを 1 つだけ示しています。
AKS デスクトップは、各名前空間が既に Project に含まれているかどうかを示します。 名前空間をインポートすると、AKS デスクトップによって Kubernetes ラベルが追加され、プロジェクトとして表示されます。
[プロジェクトの概要] 画面
AKS デスクトップを使用してアプリケーションを Project にデプロイすると、[ プロジェクトの概要 ] 画面にアクセスできるようになります。 [プロジェクトの概要] 画面は一元化された制御ハブであり、アプリケーションを管理、監視、最適化するための可視性、分析情報、および直接アクションを提供します。
次の表では、プロジェクトの概要画面で使用できる主な機能について説明します。
| 特徴 | Description |
|---|---|
| リソース | ワークロードやネットワーク構成など、プロジェクトにデプロイされているすべての Kubernetes リソースを表示します。 |
| Access | プロジェクトへのアクセス権を付与または削除します。 |
| 地図 | デプロイとサービス間のデータ フローを示す、プロジェクト内の Kubernetes リソースの相互作用を視覚化します。 |
| 情報 | プロジェクト リソース クォータ、ネットワーク ポリシーを表示および編集します。 |
| Deploy | GitHub Pipelines プレビューによって作成されたパイプラインを参照してください。 |
| ログ | アプリケーションのストリーミング ログにアクセスします。 |
| Metrics | アプリケーションの CPU、メモリ、リソース使用量などの詳細なメトリックを表示します。 |
| スケーリング | 水平ポッド オートスケーラー (HPA) または手動設定を使用して、アプリケーションのスケーリングを構成します。 |
| 分析情報 | eBPF ベースの診断 (プロセス、トレース伝送制御プロトコル (TCP)、トレース DNS) を実行して、コードの変更やポッドの再起動なしでアプリケーションの問題をトラブルシューティングします。 Insights を使用したアプリケーションのトラブルシューティングを参照してください。 |
プロジェクトと Kubernetes 名前空間
次の表は、AKS デスクトップのプロジェクトと Kubernetes 名前空間を比較したものです。これは、Kubernetes でリソースをグループ化する従来の方法です。
| 概念 | AKS デスクトップ プロジェクト | Kubernetes 名前空間 |
|---|---|---|
| Purpose | アプリケーション レベルのグループ化 | リソースの分離 |
| 抽象化レベル | 高 (開発者向け) | 低 (インフラストラクチャに重点を置く) |
| 地図作成 | 通常は 1:1 | ネイティブ Kubernetes の概念 |