重要
AKS と Azure DevOps を使用したマイクロサービスは、Azure DevOps を使用した CI/CD パイプラインの設計のバリアントです。 この記事では、Azure Pipelines を使用して AKS アプリケーションをデプロイする AKS 固有のファセットに重点を置いて説明します。
考えられるユース ケース
Azure Pipelines を使用して AKS アプリケーションをデプロイします。
アーキテクチャ
このアーキテクチャの Visio ファイルをダウンロードします。
データフロー
- Azure Repos Git への pull request (PR) によって PR パイプラインがトリガーされます。 このパイプラインでは、コードのリンティング、ビルド、単体テストなどの高速品質チェックが実行されます。 いずれかのチェックが失敗した場合、PR はマージされません。 このパイプラインの正常な実行の結果は、PR の正常なマージです。
- Azure Repos Git へのマージによって CI パイプラインがトリガーされます。 このパイプラインでは、PR パイプラインと同じタスクが実行されますが、いくつかの重要な追加があります。 CI パイプラインでは統合テストが実行されます。 これらのテストにはシークレットが必要なため、このパイプラインは Azure Key Vault からこれらのシークレットを取得します。
- このパイプラインが正常に実行された結果、非運用 Azure Container Registry でのコンテナー イメージの作成と発行が行われます。
- CI パイプラインが完了すると、CD パイプラインがトリガーされます。
- CD パイプラインでは、ステージング AKS 環境に YAML テンプレートがデプロイされます。 テンプレートでは、非運用環境からのコンテナー イメージを指定します。 その後、パイプラインでは、ステージング環境に対して受け入れテストを実行してデプロイを検証します。 テストが成功した場合は、手動検証タスクを実行することで、人間がデプロイを検証してパイプラインを再開する必要があります。 手動検証の手順は省略可能です。 一部の組織では自動的にデプロイされます。
- 手動による介入が再開されると、CD パイプラインでは、非運用 Azure Container Registry から運用レジストリにイメージが昇格されます。
- CD パイプラインでは、運用 AKS 環境に YAML テンプレートがデプロイされます。 テンプレートでは、運用環境のコンテナー イメージを指定します。
- Container Insights では、パフォーマンス メトリック、インベントリ データ、正常性状態の情報が、コンテナー ホストとコンテナーから Azure Monitor に定期的に転送されます。
- Azure Monitor では、オペレーターが正常性、パフォーマンス、使用状況データを分析できるように、ログやメトリックなどの監視データを収集します。 Application Insights は、トレースなど、アプリケーション固有のすべての監視データを収集します。 Azure Log Analytics は、そのすべてのデータを格納するために使用されます。
コンポーネント
- Container Insights では、ログとメトリックとログが収集され、Azure Monitor に転送されます。
- Azure Container Registry は、Azure 上のマネージド プライベート コンテナー レジストリ サービスです。 Container Registry を使用して、プライベート コンテナー イメージを格納します。
- Azure Kubernetes Service は、Azure によって正常性の監視やメンテナンスなどの重要なタスクが処理されるマネージド Kubernetes サービスです。
- Defender for DevOps は、スタティック分析を実行し、AKS の開発とデプロイの複数のパイプライン間でセキュリティ体制を可視化するのに役立ちます。
次のステップ
- AKS 製品のロードマップについては、「GitHub の Azure Kubernetes Service (AKS) のロードマップ」を参照してください。
- Kubernetes での復習が必要な場合は、「Azure での Kubernetes 入門 (ラーニング パス)」を完了してください。
関連リソース
- AKS でのマイクロサービスのホストの詳細については、「Azure Kubernetes Service (AKS) 上のマイクロサービス アーキテクチャ」を参照してください。
- 「Azure Kubernetes Service ソリューションの概要」にしたがいます。