Azure DevOps Starter を使用して ASP.NET Core アプリを Azure Kubernetes Service にデプロイする
Azure DevOps Starter によって提供される簡略化されたエクスペリエンスを使用すると、既存のコードと Git リポジトリを使用するか、サンプル アプリケーションを選択して、Azure への継続的インテグレーション (CI) と継続的デリバリー (CD) のパイプラインを作成することができます。
DevOps Starter では次のこともできます。
- Azure Kubernetes Service (AKS) などの Azure リソースを自動的に作成する。
- CI/CD 用のビルドおよびリリース パイプラインを設定するリリース パイプラインを Azure DevOps に作成し、構成する。
- 監視のために Azure Application Insights リソースを作成する。
- コンテナーに対する Azure Monitor で、AKS クラスター上のコンテナー ワークロードに対するパフォーマンスを監視できるようにする
このチュートリアルでは、次のことについて説明します。
- DevOps Starter を使用して、ASP.NET Core アプリを AKS にデプロイする
- Azure DevOps と Azure サブスクリプションを構成する
- AKS クラスターを確認する
- CI パイプライン を確認する
- CD パイプライン を確認する
- 変更を Git にコミットし、Azure に自動的にデプロイする
- リソースをクリーンアップする
前提条件
- Azure サブスクリプション。 Visual Studio Dev Essentials を通じて無料で取得できます。
DevOps Starter を使用して、ASP.NET Core アプリを AKS にデプロイする
DevOps Starter によって、Azure Pipelines に CI/CD パイプラインが作成されます。 新しい Azure DevOps 組織を作成するか、既存の組織を使用できます。 DevOps Starter によって、選択した Azure サブスクリプションに AKS クラスターなどの Azure リソースも作成されます。
Azure portal にサインインします。
検索ボックスに「DevOps Starter」と入力して選択します。 新しく作成するには、 [追加] をクリックします。
[.NET] を選択し、 [次へ] を選択します。
[アプリケーション フレームワークを選択します] で [ASP.NET Core] を選択し、 [次へ] を選択します。
[Kubernetes サービス] を選択し、 [次へ] を選択します。
Azure DevOps と Azure サブスクリプションを構成する
新しい Azure DevOps 組織を作成するか、既存の組織を選択します。
Azure DevOps プロジェクトの名前を入力します。
Azure サブスクリプションを選択します。
追加の Azure 構成設定を表示し、AKS クラスターのノード数を特定するには、 [変更] を選択します。 このウィンドウには、Azure サービスの種類と場所を構成するためのさまざまなオプションが表示されます。
Azure の構成領域を終了し、 [完了] を選択します。 数分後に、処理が完了します。 サンプル ASP.NET Core アプリが Azure DevOps 組織内の Git リポジトリに設定され、AKS クラスターが作成されます。そして CI/CD パイプラインが実行され、アプリが Azure にデプロイされます。
このすべてが完了すると、Azure DevOps Starter ダッシュボードが Azure portal に表示されます。 DevOps Starter ダッシュボードには、Azure portal の [すべてのリソース] から直接移動することもできます。
このダッシュボードでは、Azure DevOps コード リポジトリ、CI/CD パイプライン、および AKS クラスターが可視化されます。 Azure DevOps パイプラインで追加の CI/CD オプションを構成できます。 右側の [参照] を選択すると、実行中のアプリが表示されます。
AKS クラスターを確認する
DevOps Starter によって、AKS クラスターが自動的に構成されます。このクラスターを調べて、カスタマイズすることができます。 AKS クラスターについて理解するには、次の手順に従います。
DevOps Starter ダッシュボードに移動します。
右側で AKS サービスを選択します。 AKS クラスターのウィンドウが開きます。 このビューから、コンテナーの正常性の監視、ログの検索、Kubernetes ダッシュボードの表示など、さまざまなアクションを実行することができます。
右側で [Kubernetes ダッシュボードを表示] を選択します。 必要に応じて、Kubernetes ダッシュボードを開く手順に従います。
CI パイプライン を確認する
DevOps Starter によって、Azure DevOps 組織内に CI/CD パイプラインが自動的に構成されます。 パイプラインを探索し、カスタマイズできます。 これについて理解するには、次の手順に従います。
DevOps Starter ダッシュボードに移動します。
DevOps Starter ダッシュボードの上部の [ビルド パイプライン] を選択します。 ブラウザーのタブに、新しいプロジェクトのビルド パイプラインが表示されます。
[状態] フィールドをポイントして、省略記号 (...) を選択します。メニューには、新しいビルドをキューに入れる、ビルドを一時停止する、ビルド パイプラインを編集するなど、いくつかのオプションが表示されます。
[編集] を選択します。
このウィンドウで、ビルド パイプラインのさまざまなタスクを調べることができます。 ビルドでは、Git リポジトリからのソースのフェッチ、依存関係の復元、デプロイに使用した出力の発行など、さまざまなタスクが実行されます。
ビルド パイプラインの上部で、ビルド パイプラインの名前を選択します。
ビルド パイプラインの名前をよりわかりやすい名前に変更し、 [保存してキューに登録] を選択して、 [保存] を選択します。
ご自身のビルド パイプラインの名前の下で、 [履歴] を選択します。 このウィンドウには、ビルドに対する最近の変更の監査証跡が表示されます。 ビルド パイプラインに対するすべての変更が Azure DevOps によって追跡されるため、各バージョンを比較できます。
[トリガー] を選択します。 DevOps Starter では、CI トリガーが自動的に作成され、リポジトリに対してコミットするたびに新しいビルドが開始されます。 必要に応じて、CI プロセスのブランチを含めるか除外するかを選択できます。
[保持] を選択します。 シナリオに基づいて、特定の数のビルドを保持または削除するポリシーを指定できます。
CD リリース パイプラインを調べる
DevOps Starter では、Azure DevOps 組織から Azure サブスクリプションにデプロイするために必要な手順が自動的に作成され、構成されます。 これらの手順には、Azure サブスクリプションで Azure DevOps を認証するための Azure サービス接続の構成が含まれます。 自動化によってリリース パイプラインも作成され、このパイプラインによって CD が Azure に提供されます。 リリース パイプラインの詳細を知るには、次の手順を行います。
[ビルドとリリース] を選択し、 [リリース] を選択します。 DevOps Starter により、Azure へのデプロイを管理するリリース パイプラインが作成されます。
リリース パイプラインの横にある省略記号 (...) を選択し、 [編集] を選択します。 リリース パイプラインには、リリース プロセスを定義するパイプラインが含まれています。
[成果物] で、 [ドロップ] を選択します。 前の手順で調べたビルド パイプラインでは、成果物に使用される出力が生成されます。
[ドロップ] アイコンの右側にある [継続的配置トリガー] を選択します。 このリリース パイプラインには、新しいビルド成果物が使用可能になるたびにデプロイを実行する有効な CD トリガーがあります。 必要に応じて、手動でのデプロイが必須となるように、トリガーを無効にすることができます。
右側で [リリースの表示] を選択して、リリースの履歴を表示します。
リリースの横にある省略記号 (...) を選択し、 [開く] を選択します。 リリース概要、関連付けられた作業項目、テストなど、いくつかのメニューを調べることができます。
[コミット] を選択します。 このビューには、このデプロイに関連付けられているコードのコミットが表示されます。 リリースを比較して、デプロイ間のコミットの相違を表示します。
[ログ] を選択します。 ログには、デプロイ プロセスに関する有用な情報が含まれます。 それらは、デプロイ中もデプロイ後も表示されます。
変更を Azure Repos にコミットし、Azure に自動的にデプロイする
注意
次の手順では、単純なテキストの変更を行って、CI/CD パイプラインをテストします。
Web サイトに最新の作業を自動的にデプロイする CI/CD プロセスを使用して、アプリに対してチームで共同作業を行う準備ができました。 Git リポジトリに対する各変更により、Azure DevOps でビルドが開始され、CD パイプラインによって Azure へのデプロイが実行されます。 このセクションの手順に従うか、他の手法を使用して、リポジトリに変更をコミットします。 たとえば、お気に入りのツールや IDE で Git リポジトリを複製し、変更をそのリポジトリにプッシュできます。
Azure DevOps メニューで [コード]>[ファイル] の順に選択し、リポジトリに移動します。
Views\Home ディレクトリに移動し、Index.cshtml ファイルの横にある省略記号 (...) を選択し、 [編集] を選択します。
いずれかの div タグ内にテキストを追加するなど、ファイルを変更します。
右上の [コミット] を選択し、もう一度 [コミット] を選択して、変更をプッシュします。 しばらくすると Azure DevOps でビルドが開始され、リリースが実行されて、変更がデプロイされます。 DevOps Starter ダッシュボードで、またはブラウザーで Azure DevOps 組織を使用して、ビルドの状態を監視します。
リリースが完了したら、アプリを更新して、変更を確認します。
リソースをクリーンアップする
テストを行っている場合は、リソースをクリーンアップすることによって、課金を回避することができます。 このチュートリアルで作成した AKS クラスターと関連リソースが必要なくなったら、削除してかまいません。 そうするには、DevOps Starter ダッシュボードで削除機能を使用します。
重要
次の手順で、リソースが完全に削除されます。 "削除" 機能では、DevOps Starter のプロジェクトによって作成されたデータが Azure と Azure DevOps の両方で破棄され、取得できなくなります。 画面に表示される説明を慎重に読んでから、この手順を行ってください。
- Azure portal で、DevOps Starter ダッシュボードに移動します。
- 右上の [削除] を選択します。
- 確認のメッセージで [はい] を選択すると、リソースが "完全に削除" されます。
次のステップ
必要に応じて、チームのニーズを満たすようにこれらのビルドおよびリリース パイプラインを変更できます。 この CI/CD パターンをご自身の他のパイプラインのテンプレートとして使用することもできます。 このチュートリアルでは、以下の内容を学習しました。
- DevOps Starter を使用して、ASP.NET Core アプリを AKS にデプロイする
- Azure DevOps と Azure サブスクリプションを構成する
- AKS クラスターを確認する
- CI パイプライン を確認する
- CD パイプライン を確認する
- 変更を Git にコミットし、Azure に自動的にデプロイする
- リソースをクリーンアップする
Kubernetes ダッシュボードの使い方の詳細については、以下を参照してください。