はじめに
あなたは、衣類とギフト品を販売するアウトドア企業である Contoso で、ソフトウェア開発者として新しい仕事を始めたとします。 ビジネスが好調なので、最近、商品の在庫があるかどうかを示す Contoso の Web サイトは、Docker コンテナーでホストされるマイクロサービスにリファクターされました。
マイクロサービス ベースの開発アプローチでは、マイクロサービスはそれぞれモデルとデータを所有しているため、開発とデプロイの観点から見ると、他のマイクロサービスから自立していることになります。 これを実現するために、マイクロサービスをコンテナー内でホストすることが一般的です。 この種のシステムは、スケールアウトと管理が複雑です。 多数のコンテナーを整理、追加、削除、更新するプロセスを検討する必要があります。 このプロセスは、''コンテナー管理'' と呼ばれます。
たとえば、1 日のうちの特定の時間帯にキャッシュを処理するコンテナー インスタンスの数をスケールアップする必要がある場合や、商品の在庫を確認するコンテナー インスタンスの更新が必要な場合があります。
このようなコンテナー管理を支援するために、コンテナー オーケストレーターを使用することができます。 Kubernetes はそのようなオーケストレーターの 1 つです。 これは、コンテナー化されたワークロードを管理および調整するための拡張可能なオープンソース プラットフォームです。
このモジュールでは、Kubernetes とそれによって解決される問題、また、.NET Web API と Web アプリを Kubernetes クラスターにデプロイする方法について説明します。
学習の目的
このモジュールでは、次のことを行います。
- オーケストレーターの背後にある概念と、それが必要になる理由について学びます。
- Docker コンテナー内でホストされている既存の .NET マイクロサービスを、Docker Hub にプッシュします。
- マイクロサービスを Docker Hub からローカルの Kubernetes インスタンスにデプロイします。
- Kubernetes クラスター内のコンテナー インスタンスをスケーリングする方法を学びます。