Red Hat OpenStack Platform 14の新機能/改善ポイントの紹介

クラウドインフラ全般を担当しているソリューションアーキテクトの伊藤です。
今回はRed Hat OpenStack Platform 14の新機能と改善ポイントについて紹介いたします。
OSP14のリリースノート全文は以下のURLをご参照下さい。
https://access.redhat.com/documentation/ja-jp/red_hat_openstack_platform/14/html-single/release_notes/

Red Hat OpenStack Platform 14の立ち位置

OpenStack Rockyをベースにバグ修正や安定化を行い、エンタープライズで利用することを想定した製品がOSP14です。
OpenStackは半年間隔のリリースが続いており、新機能や改善を繰り返しています。
この新機能や改善を早期に取り込んだものがOSP14であり利用者が早期にアップグレードを行うことを想定しているのでサポート期間が1年になります。

一方プロダクション環境でのユースケースでは長期利用、長期サポートが求められるため、
Red Hat OpenStack Platformではロングライフサポートが提供可能なバージョンがあります。
最新のロングライフリリースはOSP13です。OSPは長期サポートが提供され、最長で5年のサポート期間です。

どちらもバグ修正と安定化が行われ、利用者のユースケースやニーズに応じて利用するバージョンを選択できます。
2019年2月時点での最新のOSP14の立ち位置としては以上です。

f:id:takitou:20190226204441j:plain
upgrade path

注目ポイント

■OpenShiftをOSP14からデプロイ可能
■vGPUをインスタンスに割り当てる機能
■Ansible Networking ML2 プラグインを使用したマルチテナントBMaaS

となります。次項から詳細に紹介します。

新機能

■OpenShiftをOSP14からデプロイ可能

Red Hat OpenStack PlatformではDirectorと呼ばれるデプロイツールを使ってOpenStackやCeph Storageをデプロイしています。
このDirectorがOpenStackだけでなく、OpenShiftもデプロイすることが可能になりました。
というのがこのOSP14での新機能の趣旨です。
仮想化のオーバヘッドがないためコンテナアプリケーションがより多くのCPUパフォーマンスとより少ないネットワークレイテンシを得ることができます。

具体的には、OpenShift Container Platform 3.11を openshift-ansible というansibleプレイブックをDirectorが使用してデプロイします。
IPMIでコントロール可能な物理サーバが要件通りにネットワーク接続されている状態であれば、電源オフの状態からOpenShiftがインストールされ、
WEBUI/CLIが利用可能な状態までをコマンド1つでデプロイすることが可能になりました。
また、デプロイするだけでなく、コンテナアプリケーションのリソース要求に沿うようにOpenShiftのノードを追加と削除を行うことが可能です。

従来OpenStackとCeph Storageといったインフラ基盤の構築までをDirectorが行えていたところ、OpenShiftの構築が可能になったことから、
Kubernetesを利用したコンテナ開発、運用基盤という開発者のための環境をデプロイすることが可能になりました。

https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html-single/installing_openshift_container_platform_on_bare_metal_using_director/

■テスト環境のためのシングルノードのOpenStack

All-in-one OpenStackと呼ばれるものです。Packstackでは実現できていましたが、Directorに移行してAll-in-one OpenStackは構築することができなくなっていました。
OSP14からはDirectorでAll-in-one OpenStackを構築することができるようになりました。この構成はテスト環境での利用を想定しています。
Technology Previewという立ち位置でサポートを行うことができませんが、テストのために使用することは可能です。

https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html-single/quick_start_guide/

â– Skydive

ソフトウェアデファインドネットワークという概念がネットワークに持ち込まれたころから、配線、ケーブリングといった物理ネットワーク、VLAN、SVIといった論理ネットワーク、そしてVXLAN、Geneveによるトンネリング、そして更に仮想ルータ、フローティングIPといったネットワークファンクションが実際にネットワークの世界に導入されています。
機能性、移行性が重視されていて、ネットワークを俯瞰することや、検証、トラブルシュートするということは難しくなってきています。

そこでこれらの問題を解決するためにSkydiveというプロジェクトがスタートし、OSP14では組み込まれています。
Skydiveは
・複雑なSDNネットワーク構成を見ること
・ネットワークが正しいことを検証すること
・パケットインジェクションやキャプチャなどを行いトラブルシュートすること
という3つのネットワークの機能と、周辺システムとの連携を視野にいれたREST APIとWEBUIを備えています。

Technology Previewという立ち位置でサポートを行うことができませんが、テストのために使用することは可能です。

https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html-single/use_skydive_for_openstack_network_analysis/

■仮想インスタンス(VM)に関連する新機能

OSP14ではインスタンスに対していくつか細かい機能追加が実施されています。
・ネットワーク送信/受信キューのサイズ変更
virtioドライバの送受信トラフィックのキューサイズを設定することが可能になりました。
これによりインスタンスが処理できるトラフィックが増加し、パフォーマンス改善が見込めます。

・ネットワークSR-IOV trusted VF
インスタンスを信頼することで、インスタンスからMACアドレス変更をすることが可能になりました。
Neutronでポート作成時に信頼するオプションを付与することでMACアドレスの変更を行い、プロミスキャスモードを有効にすることができます。

・Nova 用 NFS バックエンド
NFS エクスポートからコンピュートインスタンスをマウントして、インスタンス用に共有 NFS ストレージバックエンドを維持することができます。
この機能は、Glance および Cinder 用の NFS ストレージバックエンドと同じ仕組みで動作します。

・Hugepagesの確保
DBインスタンスなど高いパフォーマンスが要求されるインスタンスに対して、Hugepagesを割り当てることが可能になりました。

■vGPUをインスタンスに割り当てる機能

GPUを使用してAI/DLといった高度な解析を行うワークロードに対して、インスタンスにvGPUとしてGPUの論理リソースを割り当てることが可能になりました。
vGPUとしてリソースを分割することで、複数のインスタンスからGPUリソースを活用することができ、高価なGPUを共有することでコスト効率と利用効率の向上が見込めます。現在はvGPU GRID driverのみ利用可能です。

Technology Previewという立ち位置でサポートを行うことができませんが、テストのために使用することは可能です。

改善点

■ Ansible Networking ML2 プラグインを使用したマルチテナントBMaaS

複数のテナントから独立したネットワーク上でベアメタルを扱うことができるようになりました。
OpenStack Ironicから払い出した物理サーバはテナントごとのネットワークに、接続されているスイッチのvlan変更で接続できるようになります。
vlan変更のコンフィグレーションはansible networking ML2プラグインにより実施されます。

■Ansibleでのオーバークラウドのデプロイ

OSP14以前はDirectorによって、OpenStackがデプロイされるときはDirectorのOpenStack Heatを使ったテンプレートを展開していくことでデプロイが行われていました。
このデプロイの方法は非常に複雑な階層が設けられており、トラブルシューティングには不向きでした。
今回OSP14からはOpenStack HeatとAnsibleで役割分担が行われました。
初期段階のノードのイメージ展開やネットワーク設定など足回りの構築はHeatを通して行われます。
後続のOpenStackソフトウェアの導入、テストといった動作はAnsibleを通して行われるようになりました。

■ML2/OVSからML2/OVNへのマイグレーション

OSP13からフルサポートとなったML2/OVNではOpenStackやOpenShiftといったソフトウェアのインスタンスが利用するネットワークを統合することができるようになりました。
従来と比較して技術的にはOVSを利用していることには変わりませんが、内部構造的にはOpenStackに依存しないSDNソリューションとなっています。
ML2/OVSとML2/OVNではOpenShiftとOpenStackを組み合わせた際のパフォーマンスと運用性が改善されています。

OSP14では、ML2/OVSを利用していたプライベートクラウドをML2/OVNにマイグレーションすることが可能になっています。

https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html-single/networking_with_open_virtual_network/

最後に

Red Hatでは社内にプライベートクラウド基盤の検証を行う環境を備えています。
プライベートクラウドを業務に取り入れるために、想定した業務フローとOpenStackが適合するか検証したいがテスト環境が無いといった、プライベート基盤構築を進めるにあたってのPoC環境についてもお気軽にご相談下さい。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。