第2章 ソフトウェア
Red Hat OpenStack Platform (RHOSP) IaaS クラウドは、コンピューティング、ストレージ、ネットワークのリソースを制御するために相互に対話するサービスのコレクションとして実装されます。クラウドを管理するために、管理者は Web ベースの Dashboard またはコマンドラインクライアントを使用して、OpenStack リソースの制御、プロビジョニング、自動化を行うことができます。RHOSP は、クラウドの全ユーザーが利用できる豊富な API も提供しています。
以下の図は、RHOSP のコアサービスとそれらの相互関係の俯瞰的な概要を示しています。
RHOSP コンポーネントの関係
以下の表には、上図に示した各コンポーネントについての簡単な説明と、それぞれのセクションへのリンクをまとめています。
サービス | コード | 説明 | |
---|---|---|---|
1 | horizon | OpenStack の各サービスの管理に使用する Web ブラウザーベースのダッシュボード | |
2 | keystone | OpenStack サービスを認証および承認し、ユーザー/プロジェクト/ロールを管理する一元化されたサービス | |
3 | neutron | OpenStack サービスのインターフェイス間の接続性を提供します。 | |
4 | cinder | 仮想マシン用の永続的な Block Storage ボリュームを管理します。 | |
5 | nova | ハイパーバイザーノードで実行されている仮想マシンの管理とプロビジョニングを行います。 | |
6 | manila | 複数のコンピュートインスタンス、ベアメタルノード、またはコンテナーで消費可能な共有ファイルシステムのプロビジョニングを行います。 | |
7 | glance | 仮想マシンイメージやボリュームのスナップショットなどのリソースの保管に使用するレジストリーサービス | |
8 | swift | ユーザーによるファイルおよび任意のデータの保管/取得を可能にします。 | |
9 | ceilometer | クラウドリソースの計測値を提供します。 | |
10 | octavia | クラウドの負荷分散サービスを提供します。 | |
11 | designate | クラウドのドメインネームシステム (DNS) レコードとゾーンを管理します。 | |
12 | heat | リソーススタックの自動作成をサポートする、テンプレートベースのオーケストレーションエンジン |
各 OpenStack サービスには、Linux サービスおよびその他のコンポーネントの機能グループが含まれています。
2.1. コンポーネント
このセクションは、各 OpenStack コンポーネントについて説明します。
OpenStack ダッシュボードサービス (horizon)
OpenStack Dashboard サービスは、ユーザーおよび管理者がインスタンスの作成/起動やネットワークの管理、アクセス制御の設定を行うためのグラフィカルユーザーインターフェイスを提供します。
Dashboard サービスは、プロジェクト、管理、設定のデフォルトダッシュボードを提供します。Dashboard は、モジュール型設計により、課金、モニタリング、追加の管理ツールなどの他の製品と連結することができます。
OpenStack Identity サービス (keystone)
OpenStack Identity サービスは、すべての OpenStack コンポーネントに対してユーザーの認証と承認を提供します。Identity サービスは、ユーザー名/パスワード認証情報、トークンベースのシステム、AWS 式のログインなど複数の認証メカニズムをサポートしています。
OpenStack Networking サービス (neutron)
OpenStack Networking サービスは、OpenStack クラウド内の仮想ネットワークインフラストラクチャーの作成と管理を処理します。インフラストラクチャー要素にはネットワーク、サブネット、ルーターなどが含まれます。
OpenStack Block Storage サービス (cinder)
OpenStack Block Storage サービスは、仮想ハードドライブの永続的なブロックストレージ管理機能を提供します。Block Storage により、ユーザーはブロックデバイスを作成/削除することや、サーバーへのブロックデバイスの接続を管理することができます。
OpenStack Compute サービス (nova)
OpenStack Compute サービスは、オンデマンドで仮想マシンインスタンスを提供および管理する、RHOSP クラウドの中核です。Compute サービスはベースのハードウェアを抽象化し、他の RHOSP サービスと対話して RHOSP クラウドにインスタンスを作成してプロビジョニングします。
OpenStack Shared File Systems サービス (manila)
OpenStack Shared File Systems サービスは、コンピュートインスタンスが使用可能な共有ファイルシステムを提供します。Shared File Systems が提供する基本的なリソースは、共有、スナップショット、共有ネットワークです。
OpenStack Image サービス (glance)
OpenStack Image サービスは、仮想ディスクイメージのレジストリーです。ユーザーは、新規イメージを追加したり、既存のサーバーのスナップショットを作成して直ちに保存したりできます。スナップショットはバックアップ用、またはサーバーを新規作成するためのテンプレートとして使用できます。
OpenStack Object Storage サービス (swift)
Object Storage サービスは、HTTP 経由でアクセス可能な、大量データ用のストレージシステムを提供します。ビデオ、イメージ、メールのメッセージ、ファイル、仮想マシンイメージなどの静的エンティティーをすべて保管することができます。オブジェクトは、各ファイルの拡張属性に保管されているメタデータとともに、下層のファイルシステムにバイナリーとして保管されます。
OpenStack Telemetry サービス (ceilometer)
OpenStack Telemetry サービスは、RHOSP をベースとするクラウドのユーザーレベルの使用状況データを提供します。このデータを、顧客への請求、システムのモニタリング、またはアラートに使用することができます。Telemetry は既存の OpenStack コンポーネント (例: Compute の使用イベント) や libvirt などの RHOSP インフラストラクチャーリソースのポーリングにより送信される通知からデータを収集することができます。
OpenStack Load-balancing サービス (octavia)
OpenStack Load-balancing サービスは、複数のプロバイダードライバーをサポートする Load Balancing-as-a-Service (LBaaS) の実装を提供します。参照プロバイダードライバー (Amphora プロバイダードライバー) は、オープンソースのスケーラビリティーに優れた高可用性負荷分散プロバイダーです。オンデマンドで作成した仮想マシン群 (amphora と総称される) を管理することで、負荷分散サービスを提供します。
OpenStack DNS サービス (designate)
OpenStack DNS サービスは、クラウドで DNS レコードとゾーンを管理できるようにする DNS-as-a-Service (DNSaaS) 実装を提供します。RHOSP DNS サービスは REST API を提供し、ユーザー管理のために RHOSP Identity サービス (keystone) と統合されています。RHOSP director を使用して BIND インスタンスをデプロイして DNS レコードを含めるか、DNS サービスを既存の BIND インフラストラクチャーに統合することができます。また、director は RHOSP Networking サービス (neutron) との DNS サービスの統合を設定して、コンピュートインスタンス、ネットワークポート、および Floating IP のレコードを自動的に作成できます。
OpenStack Orchestration サービス (heat)
OpenStack Orchestration サービスは、ストレージ、ネットワーク、インスタンス、アプリケーションなどのクラウドリソースを作成および管理するためのテンプレートを提供します。このテンプレートを使用して、リソースのコレクションであるスタックを作成します。
OpenStack Bare Metal Provisioning サービス (ironic)
OpenStack Bare Metal Provisioning サービスは、ハードウェア固有のドライバーを使用するさまざまなハードウェアベンダーの物理マシンをサポートします。Bare Metal Provisioning は Compute サービスと統合して、仮想マシンのプロビジョニングと同じ方法で、物理マシンのプロビジョニングを行い、bare-metal-to-trusted-project のユースケースの解決策を提供します。
OpenStack Key Manager サービス (barbican)
OpenStack Key Manager サービスは、パスワード、暗号化鍵、X.509 などのシークレットのセキュアなストレージ、プロビジョニング、管理のために設計された REST API です。これには、対称キー、非対称キー、証明書、RAW バイナリーデータなどの鍵マテリアルが含まれます。
Red Hat OpenStack Platform director
Red Hat OpenStack Platform (RHOSP) director は、完全な RHOSP 環境のインストールおよび管理を行うためのツールセットです。director は、主に OpenStack プロジェクト TripleO (OpenStack-On-OpenStack の略語) をベースとしてます。このプロジェクトは、OpenStack のコンポーネントを使用して、完全に機能する RHOSP 環境をインストールします。これには、OpenStack ノードとして使用するベアメタルシステムのプロビジョニングや制御を行う新たな OpenStack のコンポーネントが含まれます。director により、完全な RHOSP 環境を簡単にインストールできます。RHOSP director は、アンダークラウドとオーバークラウドという 2 つの主要な概念を採用しています。アンダークラウドがオーバークラウドのインストールおよび設定を行います。
OpenStack High Availability
Red Hat OpenStack Platform (RHOSP) の環境が効率的に稼働する状態を維持するためには、RHOSP director を使用して、RHOSP の主要な全サービスにわたって高可用性および負荷分散を提供する設定を構築します。
OpenStack Operational Tools
Red Hat OpenStack Platform には、集中ロギング、可用性の監視、パフォーマンスの監視などのオプションのツールスイートが同梱されています。これらのツールは、OpenStack 環境の維持管理に役立ちます。