Jump to section

コンテナ・オーケストレーションとは

URL をコピー

コンテナ・オーケストレーションは、コンテナのデプロイメント、管理、スケーリング、ネットワーキングを自動化します。数百から数千におよぶ Linux® コンテナやホストをデプロイし、管理する必要のあるエンタープライズには、コンテナ・オーケストレーションが有効です。

コンテナ・オーケストレーションは、コンテナを使用するあらゆる環境で使用できます。これにより、同じアプリケーションを設計し直すことなく異なる環境にデプロイすることができます。また、コンテナ内でマイクロサービスを使用すると、ストレージ、ネットワーク、セキュリティなどのサービスのオーケストレーションが容易になります。

コンテナは、マイクロサービスベースのアプリケーションにとって、理想的なアプリケーションデプロイ単位であり、自己完結型の実行環境です。同じハードウェア上でアプリケーションの複数の部分をマイクロサービス内で個別に実行し、各部分やライフサイクルをより詳細に制御できるようになります。

オーケストレーションによるコンテナのライフサイクル管理は、CI/CD ワークフローにも統合できます。アプリケーション・プログラミング・インタフェース (API) と DevOps チームに加えて、コンテナ化されたマイクロサービスもクラウドネイティブ・アプリケーションの基盤となります。

コンテナ・オーケストレーションを使用すると、次のようなタスクを自動化および管理できます。

  • プロビジョニングとデプロイメント
  • 構成とスケジューリング
  • リソースの割り当て
  • コンテナの可用性
  • インフラストラクチャ全体のワークロードのバランシングに基づくコンテナのスケーリングあるいは削除
  • ロードバランシングとトラフィックルーティング
  • コンテナの状態の監視
  • アプリケーションを実行するコンテナに基づいたアプリケーションの構成
  • コンテナ間のやりとりにおける安全性の維持

コンテナ・オーケストレーション・ツールは、コンテナとマイクロサービス・アーキテクチャを大規模に管理するためのフレームワークを提供します。コンテナのライフサイクル管理に使用できるコンテナ・オーケストレーション・ツールは多数あります。一般的なものとしては、Kubernetes、Docker Swarm、Apache Mesos などがあります。

Kubernetes は、元々は Google のエンジニアによって開発および設計された、オープンソースのコンテナ・オーケストレーション・ツールです。2015 年に Google は、新しく設立された Cloud Native Computing Foundation に Kubernetes プロジェクトを寄贈しました

Kubernetes オーケストレーションによって、複数のコンテナにまたがるアプリケーションサービスを構築し、コンテナをクラスタにスケジュールしてスケーリングを行い、その正常性を継続的に管理できるようになります。

Kubernetes を使用すると、コンテナ化されたアプリケーションのデプロイとスケーリングに伴う多くの手動プロセスをなくすことができます。物理マシンでも仮想マシンでも、Linux コンテナを実行しているホストをまとめてクラスタ化できます。Kubernetesは、これらのクラスタを容易に、そして効率的に管理するプラットフォームを提供します。

さらに、信頼性の高いコンテナベースのインフラストラクチャを本番環境に完全に実装することができます。

クラスタには、パブリック、プライベート、ハイブリッドの各クラウドにまたがるホストが含まれます。この理由から、Kubernetes は、迅速なスケーリングが要求されるクラウドネイティブ・アプリケーションをホストするプラットフォームとして最適です。

Kubernetes ではアプリケーションを設計し直すことなく移行できることから、ワークロードの可搬性と負荷分散もサポートされます。

Kubernetes の主なコンポーネント

  • クラスタ:コントロールプレーンと、少なくとも 1 つのコンピューティングマシン (ノード)。
  • コントロールプレーン:Kubernetes ノードを制御する一連のプロセス。すべてのタスクの割り当てはここで発生します。
  • Kubelet:ノード上で実行されるサービス。コンテナマニフェストを読み取り、定義されたコンテナが確実に開始し実行されるようにします。
  • Pod:1 つのノードにデプロイされた、1 つ以上のコンテナからなるグループ。Pod に入っているすべてのコンテナは、同じ IP アドレス、IPC、ホスト名、その他のリソースを共有します。

Kubernetes などのコンテナ・オーケストレーション・ツールを使用する場合は、YAML あるいは JSON ファイルを使用してアプリケーションの構成を記述します。構成ファイルは、構成管理ツールに、コンテナイメージの場所、ネットワークの確立方法、ログの保存場所を指示します。

新しいコンテナをデプロイすると、コンテナ管理ツールは、定義された要件や制限を考慮して、クラスタへのデプロイメントを自動的にスケジュールし、適切なホストを見つけます。次に、オーケストレーション・ツールは、構成ファイルで決定された仕様に基づいてコンテナのライフサイクルを管理します。

Kubernetes パターンを使用して、コンテナベースのアプリケーションとサービスの構成、ライフサイクル、規模を管理できます。これらの繰り返し可能なパターンは、Kubernetes 開発者が完全なシステムを構築するために必要とするツールです。

コンテナ・オーケストレーションは、オンプレミスサーバー、パブリッククラウド環境、プライベートクラウド環境など、コンテナを実行する任意の環境で使用できます。

実際のアプリは複数のコンテナにまたがって稼働しています。これらのコンテナは複数のサーバーホストにデプロイされる必要があります。そこで登場するのが Red Hat® OpenShift® です。Red Hat OpenShift は企業向けの Kubernetes であるだけでなく、さらに機能が豊富です。

Red Hat OpenShift には、Kubernetes を企業向けに強化するためのさまざまなテクノロジーが追加されています。これには、レジストリ、ネットワーキング、テレメトリー、セキュリティ、自動化、サービスが含まれます。

Red Hat OpenShift を活用することで、開発者はコンテナ化された新しいアプリを作り、ホストし、クラウドでデプロイできるようになります。さらに、スケーラビリティ、制御性、オーケストレーションを提供することで、優れたアイデアが迅速かつ簡単にビジネスにつながるのを助けます。

パブリッククラウド、プライベートクラウド、お客様のデータセンターのすべてで、認定ソフトウェアを試用、購入、管理できます。これが Red Hat Marketplace の強みです。よりシンプルな方法で、導入済みのソフトウェアにアクセスし、Kubernetes ベースの統合環境で構築し、どこにでもデプロイできます。

Red Hat Marketplace を利用すれば、ライセンス、エンタイトルメント、有効期限の確認に追われることなく、革新的なソリューションの開発に時間を割くことができます。

Keep reading

Article

What's a Linux container?

A Linux container is a set of processes isolated from the system, running from a distinct image that provides all the files necessary to support the processes.

Article

Containers vs VMs

Linux containers and virtual machines (VMs) are packaged computing environments that combine various IT components and isolate them from the rest of the system.

Article

What is container orchestration?

Container orchestration automates the deployment, management, scaling, and networking of containers.

コンテナの詳細はこちら

製品

エンタープライズ対応の Kubernetes コンテナ・プラットフォームで、ハイブリッドクラウド、マルチクラウド、エッジのデプロイメントを管理するフルスタックの自動運用機能を備えています。

リソース

チェックリスト

コンテナ型アプリケーションの開発:チームと話し合うべき 5 つのトピック

e ブック

Forrester が Red Hat を マルチクラウドコンテナ開発 プラットフォームのリーダーに選出

トレーニング

無料のトレーニングコース

Running Containers with Red Hat Technical Overview

無料のトレーニングコース

Containers, Kubernetes and Red Hat OpenShift Technical Overview

無料のトレーニングコース

Developing Cloud-Native Applications with Microservices Architectures

Illustration - mail

その他の関連コンテンツ

無料のニュースレター「Red Hat Shares」(英語) では、注目の IT トピックスに関するコンテンツをお届けしています。