"Sunbeam"を使ったOpenStackの導入について
Sunbeamを用いたOpenStackの導入を実際に行った結果から、公式ドキュメントにない知見を共有します。構築に詰まっている方はぜひ参考にしてください。
1. はじめに
プライベートクラウドやパブリッククラウド環境を構築・管理できるオープンソースのクラウド基盤として有名なOpenStackですが、従来のOpenStack導入は複雑で専門知識を要するため、多くの組織にとって高いハードルとなっていました。
そこで注目されているのが、Canonicalが開発したSunbeamです。SunbeamはOpenStackの導入を大幅に簡素化し、従来数週間かかっていた作業を数時間で完了できる革新的なツールです。
本資料は、Sunbeamの公式ドキュメントを読み、基本的な仕組みは理解しているものの、実際の導入時に直面する具体的な課題や注意点について詳しく知りたい方を対象としています。今回は仮想マシン(VM)上での単一ノードOpenStack構築検証を行い、公式ドキュメントには記載されていない実践的な情報、特に導入手順で実際に発生する問題とその対処法を中心にまとめました。
実際にSunbeamを使用してOpenStackを構築した経験から得られた知見を共有し、皆様のスムーズな導入をサポートすることを目的としています。
2. Sunbeamについて
2.1. Sunbeamの位置づけ
Sunbeamは、OpenStackの複雑な導入プロセスを自動化し、シンプルなコマンドでクラウド環境を構築できるツールです。JujuやMicroK8s、snapパッケージを活用し、従来の手動設定を大幅に削減します。
2.2. Sunbeamの構成
Juju:
・モデルの作成・管理
・Charmedアプリケーションの展開・スケーリング
MicroK8s:
・OpenStackの各サービスをコンテナとして実行
・軽量なアーキテクチャを実現
以下はSunbeamの上に構築されるCanonical OpenStackのソフトウェアアーキテクチャ図です。
公式ドキュメントより引用
2.3. Sunbaemの主要メリット
・導入時間の劇的短縮
・単一ノード環境なら小一時間で導入可能
・設定自動化により人的エラーを最小化
・統一されたコマンド体系による運用の簡素化
・マルチノードにすることもでき本番環境を作成可能
3. 検証実験:公式ドキュメントとの差分
3.1. 環境
公式ドキュメントでは物理マシンでの構築となっていますが、先述した通り今回はVM上で構築を行いました。
公式ドキュメントの環境:
・4コアのAMD64プロセッサ
・16GiBのRAM
・100GiBのSDDストレージ
・Ubuntu 24.04 LTS
・インターネットへの無制限アクセス
・MicroCeph用の予備の未フォーマットディスク
公式ドキュメントより引用
今回のVM環境:
・8コアのAMD64プロセッサ
・16GiBのRAM
・200GiBのHDDストレージ
・Ubuntu 24.04 LTS
・インターネットへの無制限アクセス
・MicroCeph用の予備の未フォーマットディスク
3.2. インストール手順
公式ドキュメント:

公式サイトより引用
今回の手順:
1. sudo snap install openstack
2. sunbeam prepare-node-script --bootstrap | bash -x && newgrp snap_daemon
3. sunbeam cluster bootstrap --role control,compute,storage ※1
4. sunbeam configure --openrc demo-openrc ※2
※1,2ドキュメントにはあった"--accept-defaults"オプションを指定した場合、sunbeamのデフォルト設定を適用します。今回はVMのネットワークインターフェースのIPアドレスに合わせて手動で設定したかったので、このオプションを指定せずに実行しました。
3.3. インストール手順で発生した問題
環境の差分
「3.1. 環境」での公式ドキュメントと今回のVM環境の差分として、CPUのコア数を増やしました。その理由は、ドキュメント通りの環境でインストールすると手順3
sunbeam cluster bootstrap --role control,compute,storage
を実行したのちにJuju controllerとの通信エラーが起こったからです。
後述するトラブルシューティングを実施してみると、順調にインストールされている最中に突然エラーが起きていることがわかり、スペック不足によるものではないかと推測しました。そこで今回の通り8コアに変更し再度実行すると、エラーは発生しませんでした。
3.4. トラブルシューティングについて
インストール手順3
sunbeam cluster bootstrap --role control,compute,storage
を実行すると、Jujuとk8sがインストールされます。そこで、実行中に特定のコマンド(後述する2つ)を、それぞれ別ターミナルを開き実行しておくと、OpenStackのインストール状況をリアルタイム監視できます。
下記コマンドはJujuの状態を色付き・1秒間隔で定期的に実行し結果を監視します。
watch -n 1 -c juju status --color
下記コマンドはKubernetes Pod(すべての名前空間のPod)の状態を定期的に実行し結果を監視します。
sudo k8s kubectl get pod -A -w
「3.3. インストール手順で発生した問題」で述べた問題は、実際にこの手順を実施したことで原因に気付くことができました。
4. おわりに
今回はSunbeamを使ってOpenStackをインストールしてみて、OpenStack導入の敷居を下げる可能性を持つツールだと感じました。まだ基礎的な導入と動作確認をしただけなので、本格的な構築や運用に向けては、更なる調査、評価が必要となります。本記事の情報が、皆様の導入の一助となれば幸いです。
Ubuntu上に構築するOpenStackやJuju、Canonical Kubernetesは、Canonical社が提供する商用保守サービス「Ubuntu Pro」でサポートされます。
NTTテクノクロスは、OpenStackについて幅広い知見を有するほか、Canonical社が提供しているUbuntu Proサービスの日本語窓口および、円建てによる販売をしております。
Ubuntuを用いた環境構築、構築後の保守運用、OpenStack, Kubernetesなどの技術支援に関するご相談がございましたら、ぜひお気軽にお問合せください。

NTTテクノクロス株式会社
IOWNデジタルツインプラットフォーム事業部
第三ビジネスユニット

