Red Hatでソリューションアーキテクトをしている田中司恩(@tnk4on)です。
2021年7月29日にRed HatとNutanixの戦略的パートナーシップの発表がありました。
Red Hat OpenShiftおよびRed Hat Enterprise Linuxと、Nutanix AOSおよびAHVを含むNutanix Cloud Platformのインストール、相互運用性、管理を可能にします。
Nutanix AHV(以下、AHV)がRed Hat認定ハイパーバイザーになったことで、Nutanix Cloud Platform上のRed Hat Enterprise Linux(以下、RHEL)とOpenShiftのサポートが可能となりました。
Nutanix社のブログ記事はこちら。
前職でNutanix導入の経験もあり、これはやるしかない!ってことで久々にNutanixの構築を行ってその上でOpenShiftを動かしてみました。
-目次-
認定ハイパーバイザーリスト、サポート情報
まず、OpenShiftとAHVのサポート情報について確認してみます。
OpenShift Container Platform(以下、OCP) 4.xのテスト済みのプラットフォームやインフラの情報は下記のTested Integrationsにまとまっています。
Tested Integrationsより抜粋
Red Hat Provides support for Red Hat Enterprise Linux based on the Hypervisors listed in https://access.redhat.com/certified-hypervisors as such OpenShift as a platform is supported on these hypervisors but may not be explicitly listed as a tested Infrastructure Layer
認定ハイパーバイザーリストではRHELについて記載されていますが、プラットフォームとしてのOpenShiftについても同様にリストされているハイパーバイザーでサポートされる、ということのようです。OpenShiftのベースOSとなるRHEL CoreOS(以下、RHCOS)はRHELベースのOSですので、RHELのサポートによってRHCOSもサポートされるようになるというのは特に違和感はありません。
なお、現時点(2021/8/2、時点)ではAHVはTested Integrations にまだ記載がありません。*1
認定ハイパーバイザーについては下記も参考にしてください。
- [OpenShift 4] Is Nutanix AHV a supported hypervisor? - Red Hat Customer Portal
- Which hypervisors are certified to run Red Hat Enterprise Linux? - Red Hat Customer Portal
- Explore Certified Servers - Red Hat Ecosystem Catalog
AHVへのOCPのインストール方法
現在サポートされているAHVへのOpenShiftのインストール方法はUPIの「任意のプラットフォームへのインストール」のみです。いわゆるベアメタルUPI、べアメタルメソッドと言われる方法です。このブログでも何度もご紹介している方法です。
この方法を使えば事実上どんな環境でもOCPのインストールは可能であり、実際に過去にすでにNutanixのコミュニティにAHVへのインストール情報もありました。
インストール手順においてAHV特有の作業などは特に無く、Web GUIのPrismを通してRHCOSのISOを登録、各ノードのVMの作成さえできれば後はOpenShiftのインストール手順に沿って構築が可能です。
(参考)AHV上にUPIでOpenShiftをインストールするデモ動画
YouTubeのOpenShiftチャンネルにインストール方法の解説動画がアップされています。
- UPIでAHVにOpenShiftをインストール
- Nutanix CSI Operatorのインストール
Single Node OpenShift をインストールする
Nutanixを実行する実機は手元のラボ環境には無いのでNutanix Community Edition(Nutanix CE)を使用してAOS/AHV環境を構築します。さらに、Nutanix CEで占有できるハードウェアも無いので、今回はESXi上の仮想マシンとしてNested環境でAOS/AHVを実行します。 なお、AHVはホストメモリのオーバーコミットができないため、 このNested環境でOCP用のノードを複数実行するにはホストとなる物理サーバーにかなりのメモリ容量が必要です。そこで、最小構成でOCPを実行するためにシングルノードで実行するSingle Node OpenShift(以下、SNO)でインストールします。
SNOを実行する方法はいくつかありますが、一番お手軽な方法としてOpenShift Cluster Manager上で提供されているAssited Installerを使います。Assisted InstallerにSNOのオプションがあるのでこれを利用します*2。なお、現時点でSNOで選択できるOCPのバージョンは「v4.8.2」のみです*3。
SNO構成のハードウェア要件は下記です(物理、仮想マシン共通)
- 8 CPU(8 vCPU)
- 32GiB RAM
- 120GB のストレージ
インストール時に32GBのメモリが必要ですが*4、OCPのインストール完了後は割り当てメモリ量を減らすことは可能です。16GBあれば実用性は置いておいてSNOでクラスターの起動は可能です。
(参考)Nested構成のためAHV上のVMを起動するには下記オプションの追加が必要
CVM$ acli vm.update SNO cpu_passthrough=true CVM$ acli vm.get SNO |grep cpu_passthrough cpu_passthrough: True
インストールが完了すれば後は普通にOpenShiftとして利用できます。「コントロールプレーンの高可用性」が「なし(単一マスター)」となっていることが確認できます。
続いてCSIを通してPVを使うためにNutanix CSI Operatorの導入を行います。
Nutanix CSI Operator
OCPにNutanix CSI Operatorを導入するとNutanix VolumesとNutanix Filesを使用したPVの動的プロビジョニングが可能となります。Nutanix VolumesはiSCSI、Nutanix FilesはNFSでのボリューム提供方式となります。
導入手順は下記のGitHubリポジトリを参照ください。
Nutanix CSI Operator導入前に事前にAHV側で設定を行います。
- iSCSI用データサービスのIPアドレス追加
- Storage Containerの作成
Storage Classの作成の中で「iSCSI用データサービスのIPアドレス」と「Storage Container名」を指定するのでこれらの値が必要となります。
OCP側の手順概要は下記の通りです。
- Nutanix CSI Operatorのインストール
- Nutanix CSI Operatorでインスタンスの作成
- Secretの作成
- Storage Classの作成
GitHubリポジトリの手順ではNutanix Volumesを使用した方法が紹介されていますが、詳細なCSI Volume DriverのパラメーターやNutanix Filesの構成方法は、下記のNutanixのドキュメントを参照ください。
(注意)Nutanix CSI Operatorの導入にはOCP v4.6/4.7が必要
OCP v4.8にNutanix CSI OperatorをインストールするとエラーとなりOperatorのインストールが完了しません。
別立てしたOCP v4.7(v4.7.22)では問題なく手順通りにOperatorのインストールが完了します。
PVCの作成
Nutanix CSI Operator導入の完了後、OpenShift上でPVCを作成するとAHV上に自動でボリューム作成→PV作成が行われます。
AHV上のストレージを確認すると、PVCで作成したボリューム(pvc-で始まる名前)が作成されていることが確認できます。
まとめ
Red HatとNutanixの戦略的パートナーシップによりRHEL及びOpenShiftのAHV上での実行がサポートされるようになりました。
AHV上へのOpenShiftのインストールはベアメタルUPIに従えば特に難しい点はなく、これまでの技術やノウハウが流用できます。さらにNutanix CSI Operatorを通したPVの動的プロビジョニングも可能ですのでVMのワークロードからストレージまでNutanixのHCIで統合して提供することが可能です。
今後、OpenShift v4.8以降の対応や、AHVのIPIサポートで自動インストールができるようになるとさらにオンプレ上のOpenShift導入先としてAHVが候補に上がることが期待できますね!