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

URL をコピー

コンテナ・オーケストレーションは、コンテナのライフサイクル全体を通じて、コンテナのデプロイメント、管理、スケーリング、ネットワーキングを自動化するプロセスです。同じアプリケーションを、再設計することなくさまざまな環境にデプロイできるようになります。これは、数百から数千におよぶ  Linux® コンテナやホストをデプロイし、管理する必要がある企業にとって特に重要です。

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

Kubernetes を使用した企業向けのコンテナ・オーケストレーションの概要を読む

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

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

Red Hat のリソース

コンテナ・オーケストレーション・ツールは、コンテナとマイクロサービス・アーキテクチャを大規模に管理するためのフレームワークを提供します。コンテナのライフサイクル管理に使用できるコンテナ・オーケストレーション・ツールは数多くあります。一般的なものとしては、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、ホスト名、その他のリソースを共有します。
e ブック:再利用可能な Kubernetes パターンでクラウドネイティブ・アプリケーションを設計する

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

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

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

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

Kubernetes デプロイメントを使用してアプリケーションを更新する方法を学ぶ

実際のプロダクションアプリは複数のコンテナにまたがって稼働しています。これらのコンテナは複数のサーバーホストにデプロイされる必要があります。そこで登場するのが Red Hat® です。

Red Hat OpenShift® は企業向けの Kubernetes であるだけでなく、さらに機能が豊富です。OpenShift は、Kubernetes を企業向けに強化するためのさまざまなテクノロジーを提供します。これには、レジストリ、ネットワーキング、テレメトリー、セキュリティ、自動化、サービスが含まれます。

また、Red Hat Service Interconnect のようなツールを使用することにより、ルーターとゲートウェイは、異なるクラウド、エッジデバイス、一般的な Kubernetes、OpenShift 上のサービス間の信頼できる通信リンクを提供します。

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

Red Hat OpenShift の詳細

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

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

詳細はこちら試す
ハブ

Red Hat 公式ブログ

Red Hat のお客様、パートナー、およびコミュニティのエコシステムに関する最新の情報を入手しましょう。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

Red Hat OpenShift Serverless を選ぶ理由

Red Hat OpenShift Serverlessは Knativeプロジェクト・ベースのサービスで、ハイブリッドやマルチクラウド環境でサーバーレスのワークロードをデプロイし、管理できます。

開発者が Red Hat OpenShift を選ぶ理由 | Red Hat

Red Hat OpenShift は、アプリ開発の複雑さを軽減するアプリケーション・プラットフォームです。開発者はどこでも、使い慣れたツールでアプリを構築し、デプロイできます。

サンドボックスコンテナとは?をわかりやすく解説 | Red Hat

サンドボックスコンテナは、アプリケーションの保護のために未テストのコード等を分離して実行する環境。コンテナを起動する仮想マシンを使用してプログラムを分離します。

コンテナリソース

関連記事