概要
OpenShift Container Platform 4.6 クラスターにODF(OpenShift Data Foundation, OCSと呼ばれていました)をデプロイしました。
OCS 4.5のデプロイ記事の手順を参考にしましたが、4.6では4.5の手順から変更になっているところがあり、そこで落とし穴にはまってしまい、結果的にかなり時間がかかってしまいました。今後、誰かが同じようなことにならないように注意点などを記録しておこうと思います。
参考ドキュメント
こちらが今回デプロイした4.6のドキュメント
ベアメタルインフラストラクチャーを使用した OpenShift Container Storage のデプロイ
こちらは、参考文献でデプロイしていた4.5のドキュメント
ベアメタルインフラストラクチャーを使用した OpenShift Container Storage のデプロイ
Red Hat OpenShift Data Foundationの紹介
Red Hat OpenShift Data Foundation
参考文献
こちらの記事を参考にさせていただきました。またこの記事で引用させていただいています。
OCS(OpenShift Container Storage)をインターナルモードで作成する
OCS 4.5からのデプロイ手順変更点
1. OCS によって使用されるローカルストレージデバイスを持つ各ノードに対する事前のラベル付けが必須ではなくなりました
ラベルはあらかじめつけておかなくても、ストレージクラスター作成時につけてくれるようになったようです。そのため、「3.3. OCSインストール対象Nodeのラベリング」は任意となりました。
ただし、つけておいても問題ないので、4.5の手順のままでも問題ありません。
2. ストレージクラスターの作成モードに「Internal - Attached Devices」が追加されました
このモードの登場により、手順が大幅に簡略化されました。
コマンドラインから実行していた「5.2. LocalVoume の作成」が丸ごと不要になりました。
環境
既存のOCPクラスターの中に3つのWorkerノード
を使ったインターナルモードのODFクラスター
を作成します。
- Master 3ノード、Worker 9ノード(うち3ノードをODFノードとして使用予定)のOCPクラスターを構築済みの状態です。
-
ODF
のデータ領域は、各ODFノード
に追加したrawブロックデバイス
を使用します。
すべてのノードは、VMwareの仮想マシンとして構成していますので、「3.1. VMware を OCSノードに使用する場合の注意点」で解説されている設定をしました。ただし、OCS4.5と違い、diskのby-idをユーザー自身が扱うことはないので、実際に必要かどうかは未確認です。
- VMware の仮想マシンを
OCSノード
に使用する場合「仮想マシンオプション」で、disk.EnableUUID
をtrue
にしないと、構成に必要なディスクのby-id
が表示されない場合があるようです。
ODF 4.6デプロイ手順
1. OCS Operatorのインストール
このステップの手順はOCS4.5と同様です。
OperatorHub
からOpenShift Container Storage
を検索してクリックします。
Install
をクリックします。
Install Operator
で必要な項目を入力します。
Enable operator recommended cluster monitoring on this namespace
だけは、デフォルトでチェックが入ってないはずなので、チェックします。それ以外はデフォルトのままで大丈夫なはずですが、以下のとおりであることを確認します。
Update Channel は、stable-4.6
Installation Mode は、A specific namespace on the cluster
Installed Namespace は、openshift-storage
Approval Strategy は、Automatic
(※引用元には注釈があります。ご参照ください。)
確認したらIsntall
をクリックします。
2. Storage Clusterの作成
1. Operators
→ Installed Operators
をクリックし、インストール済みの OpenShift Container Storage Operator
をクリックします。(見つけにくい場合は、Project に openshift-storage を選択します。)
2. Storage Cluster
の Create Instance
リンクをクリックします。
3. Create Storage Cluster のDiscover Disks
ページで、以下のように選択しNext
をクリックします。
Select Mode は、Internal - Attached Devices
このモードでは、ディスク検出、ストレージクラスの作成、およびストレージクラスの作成を含むウィザードを使用してストレージクラスターを作成することができます。
Node Selectorで、ODFノードとして使用予定の3ノードにチェックを入れます。
4. Create Storage Class
ページに移ります。
Volume Set Nameに任意の名前を入力します。
*デフォルトで、Volume Set NameがStorage Class Nameとして表示されます。
ここでは、localblock
としています。
当初、Volume Set Name(デフォルトでストレージクラス名としても利用される)として、この後インストール予定のアプリで必要とされているストレージクラス名 ocs-storagecluster-cephfs を指定していました。その場合、次のCreate Storage ClusterページでNodesの検出が失敗します。ここで作成するのは、ストレージボリュームのセットをフィルターすることにより、専用のストレージクラスを作成してストレージを消費するためのLocal Volume Setなので、ODFのストレージクラスとは別のものです。
Selected Capacity
に想定通りのサイズが表示されていることを確認し、Next
をクリックします。
ストレージクラスが作成されることを知らせるメッセージが表示されます。Yes
をクリックします。
5. Create Storage Cluster
ページに移ります。
想定どおりの設定になっていることを確認しCreate
をクリックします。
3. デプロイメントの確認
こちらを参照して、正常にデプロイされたことを確認します。
必要なODFのストレージクラスが自動で作成されていることも確認できます。