オーケストレーターとは

完了

マイクロサービスの分離設計とコンテナーの原子性とを組み合わせることで、アプリをスケールアウトしてより多くのコンテナー インスタンスをデプロイすることで、増加する需要に対応したり、需要が減少している場合は元のスケールに戻したりすることができます。 複雑なソリューション内では、コンテナーのデプロイ、更新、監視、および削除のプロセスで課題が生じます。

コンテナー管理

コンテナー管理とは、多数のコンテナーを整理、追加、削除、または更新するプロセスです。

Contoso アウトドア用品会社の Web サイトは、キャッシュ、データ処理、ショッピング カートなどのタスクを担当する複数のマイクロサービスで構成されています。 これらの各サービスはコンテナー内でホストされ、相互に独立してデプロイ、更新、スケーリングできます。

1 つのマシン インスタンスに複数のコンテナーを追加することを示す図。

ショッピング カートのコンテナー インスタンス数を増やし、新しいバージョンをデプロイする必要がある場合、そのコンテナーのすべてのインスタンスを更新する必要があります。

コンテナー管理は、このようなタスクに役立ちます。

コンテナーのオーケストレーション

コンテナー オーケストレーターは、コンテナー化されたアプリを自動的にデプロイおよび管理するシステムです。 たとえば、オーケストレーターによって、環境内の変更に動的に応答して、マネージド アプリのデプロイ済みインスタンスを増減させることができます。 また、新しいバージョンのサービスがリリースされた場合に、デプロイされたすべてのコンテナー インスタンスが確実に更新されるようにできます。

動的スケーリングや実行中のインスタンスの自動更新など、オーケストレーションの一部の作業を示す図。

Kubernetes

Kubernetes は、コンテナー化されたワークロードを管理および調整するための、移植可能で拡張可能なオープンソース プラットフォームです。 Kubernetes によって複雑なコンテナー管理タスクが抽象化され、さまざまなコンピューティング環境でコンテナーを調整するための宣言型の構成が提供されます。 このオーケストレーション プラットフォームは、あなたがサービスとしてのプラットフォーム (PaaS) やサービスとしてのインフラストラクチャ (IaaS) オファリングで既に知っているのと同じ使いやすさと柔軟性をもたらします。

コンピューター上で動作する複数のコンテナーの中にある Kubernetes ロゴを示す画像。

メリット

Kubernetes を使用する利点は、タスクの抽象化に基づいています。

自己修復、動的スケーリング、ローリング アップデートなどの Kubernetes の利点を示す図。

次のようなタスクがあります。

  • コンテナーの自己修復。たとえば、障害が発生したコンテナーの再起動や、コンテナーの置き換えなどです。
  • デプロイされたコンテナーの数の需要に基づいた動的なスケールアップまたはスケールダウン。
  • コンテナーの自動的なローリング アップデートとロールバック。
  • ストレージの管理。
  • ネットワーク トラフィックの管理。
  • ユーザー名やパスワードなどの機密情報の保管と管理。

Kubernetes はコンテナー化されたワークロードを調整するためのツールであり、.NET マイクロサービスをコンテナーにデプロイすることができるので、Kubernetes を使用して .NET マイクロサービスを調整することができます。 これがこのモジュールの残りの部分で説明することです。

知識を確認

1.

マイクロサービス アーキテクチャでコンテナー オーケストレーターが役立つのはなぜですか。