私は過去 6 時間、バズワードだらけの高尚な高水準のドキュメント/ブログ/記事/スライドシェアを読み、OpenStack とは何かを正確に理解しようとしました。という事は承知しています:
OpenStack は、無料でオープンソースのクラウド コンピューティング ソフトウェア プラットフォームです。ユーザーは主にサービスとしてのインフラストラクチャ (IaaS) ソリューションとしてデプロイします。
しかし、繰り返しになりますが、これは非常に高尚で、高レベルで、細部にまでこだわった要約であり、エンジニアである私にとっては、実際には意味がありません。
私は基本的な概念を理解していると思いますが、SO から私の理解を跳ね返したいと思っています。また、OpenStack のコンポーネントのテーマについて「木の中の森」を見るのに苦労しています。
私の理解では、OpenStack:
- 1 台以上の仮想マシン(ゲスト VM)に実行可能アプリケーションとしてインストールします。と
- どういうわけか、OpenStack クラスターのすべてのインスタンスは互いを認識し (つまり、インストールしたばかりのすべての VM で実行されているすべてのインスタンス)、リソースの集合プールを形成します。と
- 各 OpenStack インスタンス (ここでも独自の VM 内で実行されます) には、ダッシュボード アプリ (「Horizon」) と 10 ほどの他のコンポーネント/モジュール (Nova、Cinder、Glance など) が含まれています。と
- Nova は、テナントの VM/ノードを CRUD する OpenStack コンポーネント/モジュールであり、内部で実行されているゲスト VM を独自のハイパーバイザーに変換し、その内部で 1 つ以上の VM をスピンアップすることができます (したがって、特定のテナントの VM 内の VM)
ですから、これまでに OpenStack について述べたことに誤りがある場合は、まず訂正してください。
私が多かれ少なかれ正しいと仮定すると、さまざまな OpenStack コンポーネントに関する私の理解では、それらは実際には単なる API であり、オープン ソース コミュニティが具体的な実装を提供する必要があるということです。
- Nova (VM マネージャー)
- Keystone (認証プロバイダー)
- Neutron (ネットワーキングマネージャー)
- Cinder (ブロックストレージマネージャー)
- 等...
上記では、すべてのコンポーネントが APIであると考えています。しかし、これらの API には、OpenStack のデプロイヤー/メンテナーにとって意味のある実装が必要です。したがって、複数の Neutron API プロバイダー、複数の Nova API プロバイダーなどがあると想像できます。しかし、今朝すべての公式ドキュメントを確認したところ、これらの API のそのようなプロバイダーは見つかりませんでした。これは、OpenStack のコンポーネントを根本的に誤解しているように、私の胃に不快感を残します。誰かが私のために点をつなぐのを手伝ってくれますか?