おうち OpenStack のバージョン選定について

バージョン選定で躓く部分

いざ 「OpenStack を導入しよう!」となったとき、まず、

  • どのバージョンにしようか
  • どんなバージョンがあって
  • どのようなインストールがあるのか

という点で悩むと思います。
以下は、その時の備忘録として書いたものです。

まずやったこと

2023/12/03 14:00 現在 openstack release で検索して、
OpenStack は どんな種類のバージョンがあって、
開発が続いているバージョンはどれで、保守がどれくらい続いてるのか調べた

openstack <series> installation で検索して、
どんなインストール方法があるか調べた

OpenStack Releases

リリースやライフサイクルについて

を見ると、

  • OpenStackは6ヶ月サイクルで開発され、リリースされる
  • 初リリース後、各シリーズで追加の安定ポイントがリリースされる

ことが分かり、
各リリースシリーズの詳細は、各シリーズのページで確認できて、
Series, Status, Initial Release Date, Next Phase, EOL Date
といった情報があった

Series Status Initial Release Date Next Phase EOL Date
2024.1 Caracal (SLURP) Development 2024-04-03 estimated (schedule) Maintained estimated 2023-04-03
2023.2 Bobcat Maintained 2023-10-04 Extended Maintenance estimated 2025-04-04
2023.1 Antelope (SLURP) Maintained 2023-03-22 Extended Maintenance estimated 2025-04-04
2022.3 Zed Maintained 2022-10-05 Extended Maintenance estimated 2024-04-05
2022.2 Yoga Maintained 2022-03-30 Extended Maintenance estimated 2023-11-02
2022.1 Xena Extended Maintenance (see note below) 2021-10-06 Unmaintained TBD
2021.4 Wallaby Extended Maintenance (see note below) 2021-04-14 Unmaintained TBD
2021.3 Victoria Extended Maintenance (see note below) 2020-10-14 Unmaintained TBD

Release Cadence Adjustment

を見ると、
OpenStack は 6ヶ月ごとにリリースされており、
アップグレードは隣接する2つの調整リリース間でのみテストされ、サポートされていた

そのため デプロイヤー と ディストリビューション は

  • 最新の状態を維持するために 6カ月ごとにアップグレードする
  • 実行時に非隣接リリース間を移動するために Fast Forward Upgrades (FFUs)する

という、どちらかの対応が必要だった

Fast Forward Upgrades (FFUs) は、
長期間にわたるバージョンアップを一度に効率的に行うための手法で、
複数のリリースを一度にスキップしてアップグレードするイメージ

2022.3 Zed => 2023.1 Antelope (SLURP) でなく、
2022.3 Zed をスキップして 2022.2 Yoga => 2023.1 Antelope (SLURP) に一気に上げる感じ

OpenStack は 隣接する2つの調整リリース間しかテストされていないので、
一度に多くの変更を適用すると、予期せぬ互換性の問題等が発生しやすくなる

課題と解決策

一部の デプロイヤー と ディストリビューション は
6ヶ月のアップグレードは困難、不可能、または望ましくないと指摘されている
特に大規模な環境では、プロセス自体に十分な時間がかかり、アップグレードが常に発生する

FFUsプロセスは手間のかかるものであり、
公式でテストされてないため、自力でテストする必要がある
(つまり、アップデート大変…)

を見ると、
その解決策として、SLURPリリースを導入することが提案されている

SLURP というのは Skip Level Upgrade Release Process の略で、
隣接するリリース間のみをサポートするのではなく、
隣接するリリース間をスキップしてアップグレードすることをサポートするというもの

これにより、SLURPリリース => SLURPリリース はアップグレード可能になった

Series Status Initial Release Date Next Phase EOL Date
2024.1 Caracal (SLURP) Development 2024-04-03 estimated (schedule) Maintained estimated 2023-04-03
2023.2 Bobcat Maintained 2023-10-04 Extended Maintenance estimated 2025-04-04
2023.1 Antelope (SLURP) Maintained 2023-10-04 Extended Maintenance estimated 2025-04-04

2023.1 Antelope (SLURP) => 2024.1 Caracal (SLURP) の間には、
2023.2 Bobcat があり、隣接していないが、
SLURPリリース間は、OpenStackによりテストされ、サポートされているので、
2023.2 Bobcat をスキップして、アップグレード可能になる(FFUsではない)

今回のバージョン

2023.2 Bobcat が最新の安定版で、これに決めようと思ったが、
ドキュメントがまだリリースされていなかった

上記の理由で、今回は
2023.1 Antelope (SLURP) でもよくて、
ドキュメントもリリースされていたので、
2023.1 Antelope (SLURP) に決めた

インストール方法について

を見ると、

という3つのインストール方法が紹介されていた

Deploying OpenStack using Ansible in Docker Containers (kolla) Guide について

Host machine requirements を見ると、

The host machine must satisfy the following minimum requirements:

  • 2 network interfaces
  • 8GB main memory
  • 40GB disk space

と書いてあった

今回、自分の手持ちのリソースは
DeskMini x 2台 と NUC x 3台 なので、
2 network interfaces は無理である、困った

OpenStack Charms Deployment Guide

OpenStack Charms Deployment Guide

によると、
OpenStack Charmsデプロイメントガイドは、
OpenStack Charmsプロジェクトが提供するツールを活用してOpenStackクラウドを構築する方法を示します
このガイドの目的は、Jujuチャームを手動でデプロイして設定することで、
クラウドがどのように構築されるかをしっかりと理解することです
とのこと

Install MAAS

に進むと、
Here are the hardware requirements:

  • 1 x MAAS system: 8GiB RAM, 2 CPUs, 1 NIC, 1 x 40GiB storage
  • 1 x Juju controller node: 4GiB RAM, 2 CPUs, 1 NIC, 1 x 40GiB storage
  • 4 x cloud nodes: 8GiB RAM, 2 CPUs, 1 NIC, 3 x 80GiB storage

と書いてあった

6ノード 用意すればよく、
全てのノードが1つのNICを搭載していればよさそうだったので、
こちらの方法でインストールすることにした

OpenStack Charms が 単一のNICで動作する理由について

Requirements の Note によると、
MAAS 2.9.2 以降は、ovs-bridge をサポートしていて、
2つのNICが必要とする従来の要件は廃止されたとのこと

The legacy requirement for two network interfaces on each of the four cloud nodes has been dropped since MAAS (v.2.9.2) added support for Open vSwitch bridges.
This bridge type supports more sophisticated network topologies than the Linux Bridge, and for Charmed OpenStack in particular,the ovn-chassis unit no longer needs a dedicated network device.

参考

コメント

タイトルとURLをコピーしました