バージョン選定で躓く部分
いざ 「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) に決めた
-
-
OpenStack 2023.2 Deployment Guides
- This is documentation in progress for the next release.
-
OpenStack 2023.2 Deployment Guides
インストール方法について
を見ると、
- OpenStack Charms Deployment Guide
- Deploying OpenStack using Ansible in Docker Containers (kolla) Guide
- OpenStack-Ansible Deployment (in LXC Containers or on Bare Metal) Guide
という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チャームを手動でデプロイして設定することで、
クラウドがどのように構築されるかをしっかりと理解することです
とのこと
に進むと、
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.