ベアメタルからクラウドへ:OpenStack Nova 紹介 1

從裸機到雲端:OpenStack Nova 介紹

昨日の記事では 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 ドキュメント (英語) を参照してください。

まとめ

本記事では Nova の機能と使用方法について紹介しました。次回の記事では、そのアーキテクチャと各デーモン (プロセス) が担当する業務について解説します。


著作権表示:特に断りのない限り、本ブログのすべての記事はCC BY-NC-SA 4.0ライセンスの下で提供されています。

コメントを残す