昨日の記事では OpenStack のアーキテクチャの概要を紹介しましたが、今日からは各コンポーネントについて詳しく紹介していきます。まずは、OpenStack が提供する最も核心的な機能であるコンピュートサービス (Compute Service)、つまり仮想マシン (Virtual Machine) を作成する機能を持つコンポーネント、Nova から始めましょう。
目次
Nova とは?
Nova は OpenStack のプロジェクトの一つで、コンピューティングリソースをプロビジョニング (provision) する手段を提供します。現在は主に仮想マシンと物理ホスト (Ironic 経由) の両方をサポートしています。Nova は一連のデーモン (daemon) として既存の Linux サーバー上で動作し、サービスを提供します。後の章で、Nova の各デーモンが担当する役割について紹介します。
現在、Nova の基本機能を利用するには、以下の OpenStack サービスと組み合わせる必要があります。
- Keystone
- Glance
- Neutron
- Placement
前回の記事で紹介しなかった Placement について、ここで簡単に説明します。
Placement は Nova から切り出されたサービスで、主な機能は CPU や RAM など、さまざまな種類の利用可能なリソースとその使用量を追跡することです。
ユーザーにとって
Nova が提供するツールや API を通じて、コンピュートリソースの作成や管理を行うことができます。
Nova を使用するためのツール
- Horizon:前回の記事で触れた通り、OpenStack の Web UI です。
- OpenStack Client:OpenStack 公式が提供する CLI で、基本的にはほとんどの OpenStack プロジェクトをサポートしています。
- Nova Client:通常、高度な機能や管理用の機能が必要な場合に使用されますが、ほとんどの機能は OpenStack Client で対応可能です。
IaC (Infrastructure as Code) について知識がある場合は、以下を使用することもできます。
Nova Client は Nova 専用のツールですが、その他のツールは他の OpenStack プロジェクトが提供するサービスも操作できるため、今後の他のプロジェクトの紹介ではこのセクションを省略します。
Nova の API
Nova のすべてのユーザー機能は REST API を通じてアクセスでき、通常は OpenStack Compute API と呼ばれます。ユーザーは API を使用して複雑なロジックを実行したり、操作をプログラム化して Infrastructure as Code を実現したりできます。ユーザーは対応する API を直接呼び出すか、さまざまな言語の SDK を介してアクセスできます。使用方法については、以下の OpenStack ドキュメント (英語) を参照してください。
- Compute API ガイド:Compute API の基本概念を紹介します。
- Compute API Reference:すべての Compute API の詳細な使用方法です。
- Compute API Microversion History:Compute API 會透過 microversion 進行更版,這個文件有所有更版的紀錄。
- Block Device Mapping:這個文件介紹如何串接不同區塊儲存設備到運算機器上。
- メタデータNovaがサポートする各種メタデータ(Metadata)の紹介
まとめ
本記事では Nova の機能と使用方法について紹介しました。次回の記事では、そのアーキテクチャと各デーモン (プロセス) が担当する業務について解説します。
著作権表示:特に断りのない限り、本ブログのすべての記事はCC BY-NC-SA 4.0ライセンスの下で提供されています。

