Microsoft Azure および Azure Red Hat OpenShift を使用した OpenShift Container Storage のデプロイ
インストール方法
概要
前書き
Red Hat OpenShift Container Storage 4.6 では、既存の Red Hat OpenShift Container Platform (RHOCP) Azure クラスターでのデプロイメントをサポートします。
Microsoft Azure では、内部の Openshift Container Storage クラスターのみがサポートされます。デプロイメントの要件についての詳細は、デプロイメントのプランニング を参照してください。
内部モードで OpenShift Container Storage をデプロイするには、Microsoft Azure での OpenShift Container Storage のデプロイ のデプロイメントプロセスを実行します。
第1章 Microsoft Azure での OpenShift Container Storage のデプロイ
Azure のインストーラーでプロビジョニングされるインフラストラクチャー (IPI) (タイプ: managed-premium
) によって提供される動的ストレージデバイスを使用して OpenShift Container Storage を OpenShift Container Platform にデプロイすると、内部クラスターリソースを作成できます。これにより、ベースサービスの内部プロビジョニングが可能になり、追加のストレージクラスをアプリケーションで使用可能にすることができます。
Microsoft Azure では、内部の Openshift Container Storage クラスターのみがサポートされます。デプロイメントの要件についての詳細は、デプロイメントのプランニング を参照してください。
1.1. Red Hat OpenShift Container Storage Operator のインストール
Red Hat OpenShift Container Storage は、Red Hat OpenShift Container Platform Operator Hub を使用してインストールできます。ハードウェアおよびソフトウェアの要件に関する詳細は、 デプロイメントのプランニング を参照してください。
前提条件
- OpenShift Container Platform (RHOCP) クラスターにログインしている必要があります。
- RHOCP クラスターにワーカーノードが少なくとも 3 つ必要です。
OpenShift Container Storage のクラスター全体でのデフォルトノードセレクターを上書きする必要がある場合は、コマンドラインインターフェイスで以下のコマンドを使用し、
openshift-storage
namespace の空のノードセレクターを指定できます。$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
ノードに Red Hat OpenShift Container Storage リソースのみがスケジュールされるように、そのノードに
infra
のテイントを設定します。これにより、サブスクリプションコストを節約できます。詳細は、ストレージリソースの管理および割り当てガイドの Red Hat OpenShift Container Storage の専用ワーカーノードを使用する方法 の章を参照してください。
手順
- OpenShift Web コンソールの左側のペインで、Operators → OperatorHub をクリックします。
- Filter by keyword テキストボックスまたはフィルター一覧を使用して、Operator の一覧から OpenShift Container Storage を検索します。
- OpenShift Container Storage をクリックします。
- OpenShift Container Storage Operator ページで、Install をクリックします。
Install Operator ページで、以下のオプションがデフォルトで選択されていることを確認します。
- Channel を stable-4.6として更新します。
- Installation Mode オプションに A specific namespace on the cluster を選択します。
-
Installed Namespace に Operator recommended namespace openshift-storage を選択します。namespace
openshift-storage
が存在しない場合、これは Operator のインストール時に作成されます。 - Enable operator recommended cluster monitoring on this namespace が選択されていることを確認します。この設定はクラスターのモニターリングに必要です。
承認ストラテジー を Automatic または Manual として選択している。承認ストラテジーはデフォルトで Automatic に設定されます。
Approval Strategy に Automatic を選択します。
注記Approval Strategy を Automatic として選択すると、新規インストール時、または OpenShift Container Storage の最新バージョンへの更新時に承認は必要ありません。
- インストール をクリックします。
- インストールが開始するまで待機します。これには、最長 20 分の時間がかかる可能性があります。
- Operators → Installed Operators をクリックします。
-
Project が
openshift-storage
であることを確認します。デフォルトで、プロジェクト はopenshift-storage
です。 - OpenShift Container Storage の Status が Succeeded に変更するまで待機します。
Approval Strategy に Manual を選択します。
注記Approval Strategy を Manual として選択すると、新規インストール時、または OpenShift Container Storage の最新バージョンへの更新時に承認が必要になります。
- インストール をクリックします。
Manual approval required ページで、Approve または View Installed Operators in namespace openshift-storage のいずれかをクリックし、Operator をインストールできます。
重要オプションのいずれかをクリックする前に、Manual approval required ページで、インストール計画がウィンドウに読み込まれるまで数分待機します。
重要Approve をクリックする場合は、続行する前にインストール計画を確認する必要があります。
Approve をクリックします。
- OpenShift Container Storage Operator がインストールされている間に数分待機します。
- Installed operator - ready for use ページで、View Operator をクリックします。
-
Project が
openshift-storage
であることを確認します。デフォルトで、プロジェクト はopenshift-storage
です。 - Operators → Installed Operators をクリックします。
- OpenShift Container Storage の Status が Succeeded に変更するまで待機します。
View Installed Operators in namespace openshift-storage をクリックします。
- Installed Operators ページで、ocs-operator をクリックします。
- Subscription Details ページで、Install Plan リンクをクリックします。
- InstallPlan Details ページで、Preview Install Plan をクリックします。
- インストール計画を確認し、Approve をクリックします。
- Components の Status が Unknown から Created または Present のいずれかに変更するまで待機します。
- Operators → Installed Operators をクリックします。
-
Project が
openshift-storage
であることを確認します。デフォルトで、プロジェクト はopenshift-storage
です。 - OpenShift Container Storage の Status が Succeeded に変更するまで待機します。
検証手順
- OpenShift Container Storage Operator に、インストールが正常に実行されたことを示す緑色のチェックマークが表示されていることを確認します。
-
View Installed Operators in namespace openshift-storage リンクをクリックし、OpenShift Container Storage Operator が Installed Operators ダッシュボードで Status を
Succeeded
として表示していることを確認します。
1.2. 内部モードでの OpenShift Container Storage Cluster Service の作成
以下の手順を使用して、OpenShift Container Storage Operator のインストール後に OpenShift Container Storage Cluster Service を作成します。
前提条件
- OpenShift Container Storage は Operator Hub からインストールする必要があります。詳細は、Installing OpenShift Container Storage Operator using the Operator Hub を参照してください。
OpenShift Container Storage クラスターのデプロイ後に、ディスクのホストキャッシュポリシーを Azure 側から変更することはできません。ホストキャッシュポリシーを変更すると、オブジェクトストレージデバイス (OSD) Pod の CrashLoopBackOff
状態が原因でデータが利用できなくなります。
手順
Operators → Installed Operators をクリックし、インストールされた Operator をすべて表示します。
選択された Project が openshift-storage であることを確認します。
図1.1 OpenShift Container Storage Operator ページ
OpenShift Container Storage をクリックします。
図1.2 OpenShift Container Storage の Details タブ
Storage Cluster の Create Instance リンクをクリックします。
図1.3 Create Storage Cluster ページ
Create Storage Cluster ページで、以下のオプションが選択されていることを確認します。
-
Select Mode セクションで、
Internal
モードがデフォルトで選択されます。 -
Storage Class は、Microsoft Azure ではデフォルトで
managed-premium
に設定されます。 ドロップダウンリストから OpenShift Container Storage Service Capacity を選択します。
注記初期ストレージ容量を選択すると、クラスターの拡張は、選択された使用可能な容量を使用してのみ実行されます (raw ストレージの 3 倍)。
-
(任意) Encryption セクションで、トグルを
Enabled
に設定して、クラスターでデータ暗号化を有効にします。 Nodes セクションでは、OpenShift Container Storage サービスを使用するために、利用可能な一覧から 3 つ以上のワーカーノードを選択します。
複数のアベイラビリティーゾーンを持つクラウドプラットフォームの場合、ノードが異なる場所/アベイラビリティーゾーンに分散されていることを確認します。
注記クラスターで特定のワーカーノードを見つけるには、Name または Label に基づいてノードをフィルターできます。
- Name では、ノード名で検索できます。
- Label では、事前に定義されたラベルを選択して検索できます。
選択したノードが集約された 30 CPU および 72 GiB の RAM の OpenShift Container Storage クラスターの要件と一致しない場合は、最小クラスターがデプロイされます。ノードの最小要件については、プランニングガイドの リソース要件 セクションを参照してください。
-
Select Mode セクションで、
Create をクリックします。
Create ボタンは、3 つのノードを選択した後にのみ有効になります。選択したノードごとに、3 つのストレージデバイスを持つ新しいストレージクラスターが作成されます。デフォルト設定では、レプリケーション係数 3 を使用します。
検証手順
インストールされたストレージクラスターの最後の Status が緑色のチェックマークと共に
Phase: Ready
と表示されていることを確認します。- Operators → Installed Operators → Storage Cluster のリンクをクリックして、ストレージクラスターのインストールのステータスを表示します。
- または、Operator Details タブで、Storage Cluster タブをクリックすると、ステータスを表示できます。
- OpenShift Container Storage のすべてのコンポーネントが正常にインストールされていることを確認するには、OpenShift Container Storage インストールの確認 を参照してください。
第2章 OpenShift Container Storage デプロイメントの検証
このセクションを使用して、OpenShift Container Storage が正常にデプロイされていることを確認します。
2.1. Pod の状態の確認
OpenShift Container Storage が正常にデプロイされているかどうかを判別するために、Pod の状態が Running
であることを確認できます。
手順
- OpenShift Web コンソールの左側のペインから Workloads → Pods をクリックします。
Project ドロップダウンリストから openshift-storage を選択します。
各コンポーネントについて予想される Pod 数や、これがノード数によってどのように異なるかについての詳細は、表2.1「OpenShift Container Storage クラスターに対応する Pod」 を参照してください。
Running および Completed タブをクリックして、以下の Pod が実行中および完了状態にあることを確認します。
表2.1 OpenShift Container Storage クラスターに対応する Pod
コンポーネント 対応する Pod OpenShift Container Storage Operator
-
ocs-operator-*
(任意のワーカーノードに 1 Pod) -
ocs-metrics-exporter-*
Rook-ceph Operator
rook-ceph-operator-*
(任意のワーカーノードに 1 Pod)
Multicloud Object Gateway
-
noobaa-operator-*
(任意のワーカーノードに 1 Pod) -
noobaa-core-*
(任意のストレージノードに 1 Pod) -
noobaa-db-*
(任意のストレージノードに 1 Pod) -
noobaa-endpoint-*
(任意のストレージノードに 1 Pod)
MON
rook-ceph-mon-*
(ストレージノードに分散する 3 Pod)
MGR
rook-ceph-mgr-*
(任意のストレージノードに 1 Pod)
MDS
rook-ceph-mds-ocs-storagecluster-cephfilesystem-*
(ストレージノードに分散する 2 Pod)
CSI
cephfs
-
csi-cephfsplugin-*
(各ワーカーノードに 1 Pod) -
csi-cephfsplugin-provisioner-*
(ワーカーノードに分散する 2 Pod)
-
rbd
-
csi-rbdplugin-*
(各ワーカーノードに 1 Pod) -
csi-rbdplugin-provisioner-*
(ストレージノードに分散する 2 Pod)
-
rook-ceph-crashcollector
rook-ceph-crashcollector-*
(各ストレージノードに 1 Pod)
OSD
-
rook-ceph-osd-*
(各デバイス用に 1 Pod) -
rook-ceph-osd-prepare-ocs-deviceset-*
(各デバイス用に 1 Pod)
-
2.2. OpenShift Container Storage クラスターが正常であることの確認
- OpenShift Web コンソールの左側のペインから Home → Overview をクリックし、Persistent Storage タブをクリックします。
Status カード で、以下のイメージのように OCS Cluster および Data Resiliency に緑色のチェックマークが表示されていることを確認します。
図2.1 Persistent Storage Overview ダッシュボードの Health status カード
Details カード で、以下のようにクラスター情報が表示されていることを確認します。
- サービス名
- OpenShift Container Storage
- クラスター名
- ocs-storagecluster
- プロバイダー
- Azure
- モード
- 内部
- バージョン
- ocs-operator-4.6.0
永続ストレージダッシュボードを使用して OpenShift Container Storage クラスターの正常性に関する詳細は、OpenShift Container Storage のモニターリング を参照してください。
2.3. Multicloud Object Gateway が正常であることの確認
- OpenShift Web コンソールの左側のペインから Home → Overview をクリックし、Object Service タブをクリックします。
Status card で、Object Service と Data Resiliency の両方が
Ready
状態 (緑のチェックマーク) にあることを確認します。図2.2 Object Service Overview ダッシュボードの Health status カード
Details カード で、MCG 情報が以下のように表示されることを確認します。
- サービス名
- OpenShift Container Storage
- システム名
- Multicloud Object Gateway
- プロバイダー
- Azure
- バージョン
- ocs-operator-4.6.0
オブジェクトサービスダッシュボードを使用した OpenShift Container Storage クラスターの正常性については、OpenShift Container Storage のモニターリング を参照してください。
2.4. OpenShift Container Storage 固有のストレージクラスが存在することの確認
ストレージクラスがクラスターに存在することを確認するには、以下を実行します。
- OpenShift Web コンソールの左側のペインから Storage → Storage Classes をクリックします。
以下のストレージクラスが OpenShift Container Storage クラスターの作成時に作成されることを確認します。
-
ocs-storagecluster-ceph-rbd
-
ocs-storagecluster-cephfs
-
openshift-storage.noobaa.io
-
第3章 OpenShift Container Storage のアンインストール
3.1. 内部モードでの OpenShift Container Storage のアンインストール
このセクションの手順に従って OpenShift Container Storage をアンインストールします。
アノテーションのアンインストール
Storage Cluster のアノテーションは、アンインストールプロセスの動作を変更するために使用されます。アンインストールの動作を定義するために、ストレージクラスターに以下の 2 つのアノテーションが導入されました。
-
uninstall.ocs.openshift.io/cleanup-policy: delete
-
uninstall.ocs.openshift.io/mode: graceful
以下の表は、これらのアノテーションで使用できる各種値に関する情報を示しています。
表3.1 uninstall.ocs.openshift.io
でアノテーションの説明をアンインストールする
Annotation | 値 | デフォルト | 動作 |
---|---|---|---|
cleanup-policy | delete | はい |
Rook は物理ドライブおよび |
cleanup-policy | Retain | いいえ |
Rook は物理ドライブおよび |
mode | graceful | はい | Rook および NooBaa は PVC および OBC が管理者/ユーザーによって削除されるまでアンインストールプロセスを一時停止します。 |
mode | forced | いいえ | Rook および NooBaa は、Rook および NooBaa を使用してプロビジョニングされた PVC/OBC がそれぞれ存在している場合でもアンインストールを続行します。 |
以下のコマンドを使用してアノテーションの値を編集し、クリーンアップポリシーまたはアンインストールモードを変更できます。
$ oc annotate storagecluster -n openshift-storage ocs-storagecluster uninstall.ocs.openshift.io/cleanup-policy="retain" --overwrite storagecluster.ocs.openshift.io/ocs-storagecluster annotated
$ oc annotate storagecluster -n openshift-storage ocs-storagecluster uninstall.ocs.openshift.io/mode="forced" --overwrite storagecluster.ocs.openshift.io/ocs-storagecluster annotated
前提条件
- OpenShift Container Storage クラスターの状態が正常であることを確認します。リソースまたはノードの不足により一部の Pod が正常に終了されないと、アンインストールプロセスに失敗する可能性があります。クラスターが状態が正常でない場合は、OpenShift Container Storage をアンインストールする前に Red Hat カスタマーサポートにお問い合わせください。
- アプリケーションが OpenShift Container Storage によって提供されるストレージクラスを使用して永続ボリューム要求 (PVC) またはオブジェクトバケット要求 (OBC) を使用していないことを確認します。
- カスタムリソース (カスタムストレージクラス、cephblockpools など) が管理者によって作成された場合、それらを消費したリソースを削除した後に管理者によって削除される必要があります。
手順
OpenShift Container Storage を使用しているボリュームスナップショットを削除します。
すべての namespace からボリュームスナップショットを一覧表示します。
$ oc get volumesnapshot --all-namespaces
直前のコマンドの出力から、OpenShift Container Storage を使用しているボリュームスナップショットを特定し、削除します。
$ oc delete volumesnapshot <VOLUME-SNAPSHOT-NAME> -n <NAMESPACE>
OpenShift Container Storage を使用している PVC および OBC を削除します。
デフォルトのアンインストールモード (graceful) では、アンインストーラーは OpenShift Container Storage を使用するすべての PVC および OBC が削除されるまで待機します。
PVC を事前に削除せずに Storage Cluster を削除する場合は、アンインストールモードのアノテーションを forced に設定し、この手順を省略できます。これを実行すると、孤立した PVC および OBC がシステムに作成されます。
OpenShift Container Storage を使用して、OpenShift Container Platform モニターリングスタック PVC を削除します。
OpenShift Container Storage を使用して、OpenShift Container Platform レジストリー PVC を削除します。
「OpenShift Container Storage からの OpenShift Container Platform レジストリーの削除」 を参照してください。
OpenShift Container Storage を使用して、OpenShift Container Platform ロギング PVC を削除します。
「OpenShift Container Storage からのクラスターロギング Operator の削除」 を参照してください。
OpenShift Container Storage を使用してプロビジョニングした PVC および OBC を削除します。
以下に、OpenShift Container Storage を使用してプロビジョニングされる PVC および OBC を特定するサンプルスクリプトを示します。このスクリプトは、OpenShift Container Storage によって内部で使用される PVC を無視します。
#!/bin/bash RBD_PROVISIONER="openshift-storage.rbd.csi.ceph.com" CEPHFS_PROVISIONER="openshift-storage.cephfs.csi.ceph.com" NOOBAA_PROVISIONER="openshift-storage.noobaa.io/obc" RGW_PROVISIONER="openshift-storage.ceph.rook.io/bucket" NOOBAA_DB_PVC="noobaa-db" NOOBAA_BACKINGSTORE_PVC="noobaa-default-backing-store-noobaa-pvc" # Find all the OCS StorageClasses OCS_STORAGECLASSES=$(oc get storageclasses | grep -e "$RBD_PROVISIONER" -e "$CEPHFS_PROVISIONER" -e "$NOOBAA_PROVISIONER" -e "$RGW_PROVISIONER" | awk '{print $1}') # List PVCs in each of the StorageClasses for SC in $OCS_STORAGECLASSES do echo "======================================================================" echo "$SC StorageClass PVCs and OBCs" echo "======================================================================" oc get pvc --all-namespaces --no-headers 2>/dev/null | grep $SC | grep -v -e "$NOOBAA_DB_PVC" -e "$NOOBAA_BACKINGSTORE_PVC" oc get obc --all-namespaces --no-headers 2>/dev/null | grep $SC echo done
注記クラウドプラットフォームの
RGW_PROVISIONER
を省略します。OBC を削除します。
$ oc delete obc <obc name> -n <project name>
PVC を削除します。
$ oc delete pvc <pvc name> -n <project-name>
注記クラスターに作成されているカスタムバッキングストア、バケットクラスなどを削除していることを確認します。
Storage Cluster オブジェクトを削除し、関連付けられたリソースが削除されるのを待機します。
$ oc delete -n openshift-storage storagecluster --all --wait=true
uninstall.ocs.openshift.io/cleanup-policy
がdelete
(default) に設定されている場合にクリーンアップ Pod の有無を確認し、それらのステータスがCompleted
していることを確認します。$ oc get pods -n openshift-storage | grep -i cleanup NAME READY STATUS RESTARTS AGE cluster-cleanup-job-<xx> 0/1 Completed 0 8m35s cluster-cleanup-job-<yy> 0/1 Completed 0 8m35s cluster-cleanup-job-<zz> 0/1 Completed 0 8m35s
/var/lib/rook
ディレクトリーが空であることを確認します。このディレクトリーは空になるのは、uninstall.ocs.openshift.io/cleanup-policy
アノテーションがdelete
(デフォルト) に設定されている場合に限られます。$ for i in $(oc get node -l cluster.ocs.openshift.io/openshift-storage= -o jsonpath='{ .items[*].metadata.name }'); do oc debug node/${i} -- chroot /host ls -l /var/lib/rook; done
暗号化がインストール時に有効にされている場合は、すべての OpenShift Container Storage ノードの OSD デバイスから
dm-crypt
で管理されるdevice-mapper
マッピングを削除します。デバッグ
Pod を作成し、ストレージノードのホストに対してchroot
を作成します。$ oc debug node/<node name> $ chroot /host
デバイス名を取得し、OpenShift Container Storage デバイスについてメモします。
$ dmsetup ls ocs-deviceset-0-data-0-57snx-block-dmcrypt (253:1)
マップ済みデバイスを削除します。
$ cryptsetup luksClose --debug --verbose ocs-deviceset-0-data-0-57snx-block-dmcrypt
権限が十分にないため、コマンドがスタックした場合には、以下のコマンドを実行します。
-
CTRL+Z
を押して上記のコマンドを終了します。 スタックした
cryptsetup
プロセスの PID を検索します。$ ps
出力例:
PID TTY TIME CMD 778825 ? 00:00:00 cryptsetup
PID
番号を書き留めて強制終了します。この例では、PID
は778825
です。kill
コマンドを使用してプロセスを終了します。$ kill -9 <PID>
デバイス名が削除されていることを確認します。
$ dmsetup ls
-
namespace を削除し、削除が完了するまで待機します。
openshift-storage
がアクティブなプロジェクトである場合は、別のプロジェクトに切り替える必要があります。以下に例を示します。
$ oc project default $ oc delete project openshift-storage --wait=true --timeout=5m
以下のコマンドが
NotFound
エラーを返すと、プロジェクトが削除されます。$ oc get project openshift-storage
注記OpenShift Container Storage のアンインストール時に、namespace が完全に削除されず、
Terminating
状態のままである場合は、Troubleshooting and deleting remaining resources during Uninstall の記事に記載の手順を実行して namespace の終了をブロックしているオブジェクトを特定します。ストレージノードのラベルを解除します。
$ oc label nodes --all cluster.ocs.openshift.io/openshift-storage- $ oc label nodes --all topology.rook.io/rack-
ノードにテイントのマークが付けられている場合に OpenShift Container Storage テイントを削除します。
$ oc adm taint nodes --all node.ocs.openshift.io/storage-
OpenShift Container Storage を使用してプロビジョニングした PV がすべて削除されていることを確認します。
Released
状態のままの PV がある場合は、これを削除します。$ oc get pv $ oc delete pv <pv name>
Multicloud Object Gateway storageclass を削除します。
$ oc delete storageclass openshift-storage.noobaa.io --wait=true --timeout=5m
CustomResourceDefinitions
を削除します。$ oc delete crd backingstores.noobaa.io bucketclasses.noobaa.io cephblockpools.ceph.rook.io cephclusters.ceph.rook.io cephfilesystems.ceph.rook.io cephnfses.ceph.rook.io cephobjectstores.ceph.rook.io cephobjectstoreusers.ceph.rook.io noobaas.noobaa.io ocsinitializations.ocs.openshift.io storageclusters.ocs.openshift.io cephclients.ceph.rook.io cephobjectrealms.ceph.rook.io cephobjectzonegroups.ceph.rook.io cephobjectzones.ceph.rook.io cephrbdmirrors.ceph.rook.io --wait=true --timeout=5m
OpenShift Container Platform Web コンソールで、OpenShift Container Storage が完全にアンインストールされていることを確認するには、以下を実行します。
- Home → Overview をクリックし、ダッシュボードにアクセスします。
- Persistent Storage および Object Service タブが Cluster タブの横に表示されなくなることを確認します。
3.2. OpenShift Container Storage からのモニターリングスタックの削除
このセクションでは、モニターリングスタックを OpenShift Container Storage からクリーンアップします。
モニターリングスタックの設定の一部として作成される PVC は openshift-monitoring
namespace に置かれます。
前提条件
PVC は OpenShift Container Platform モニタリングスタックを使用できるように設定されます。
詳細は、モニターリングスタックの設定 を参照してください。
手順
openshift-monitoring
namespace で現在実行されている Pod および PVC を一覧表示します。$ oc get pod,pvc -n openshift-monitoring NAME READY STATUS RESTARTS AGE pod/alertmanager-main-0 3/3 Running 0 8d pod/alertmanager-main-1 3/3 Running 0 8d pod/alertmanager-main-2 3/3 Running 0 8d pod/cluster-monitoring- operator-84457656d-pkrxm 1/1 Running 0 8d pod/grafana-79ccf6689f-2ll28 2/2 Running 0 8d pod/kube-state-metrics- 7d86fb966-rvd9w 3/3 Running 0 8d pod/node-exporter-25894 2/2 Running 0 8d pod/node-exporter-4dsd7 2/2 Running 0 8d pod/node-exporter-6p4zc 2/2 Running 0 8d pod/node-exporter-jbjvg 2/2 Running 0 8d pod/node-exporter-jj4t5 2/2 Running 0 6d18h pod/node-exporter-k856s 2/2 Running 0 6d18h pod/node-exporter-rf8gn 2/2 Running 0 8d pod/node-exporter-rmb5m 2/2 Running 0 6d18h pod/node-exporter-zj7kx 2/2 Running 0 8d pod/openshift-state-metrics- 59dbd4f654-4clng 3/3 Running 0 8d pod/prometheus-adapter- 5df5865596-k8dzn 1/1 Running 0 7d23h pod/prometheus-adapter- 5df5865596-n2gj9 1/1 Running 0 7d23h pod/prometheus-k8s-0 6/6 Running 1 8d pod/prometheus-k8s-1 6/6 Running 1 8d pod/prometheus-operator- 55cfb858c9-c4zd9 1/1 Running 0 6d21h pod/telemeter-client- 78fc8fc97d-2rgfp 3/3 Running 0 8d NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-0 Bound pvc-0d519c4f-15a5-11ea-baa0-026d231574aa 40Gi RWO ocs-storagecluster-ceph-rbd 8d persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-1 Bound pvc-0d5a9825-15a5-11ea-baa0-026d231574aa 40Gi RWO ocs-storagecluster-ceph-rbd 8d persistentvolumeclaim/my-alertmanager-claim-alertmanager-main-2 Bound pvc-0d6413dc-15a5-11ea-baa0-026d231574aa 40Gi RWO ocs-storagecluster-ceph-rbd 8d persistentvolumeclaim/my-prometheus-claim-prometheus-k8s-0 Bound pvc-0b7c19b0-15a5-11ea-baa0-026d231574aa 40Gi RWO ocs-storagecluster-ceph-rbd 8d persistentvolumeclaim/my-prometheus-claim-prometheus-k8s-1 Bound pvc-0b8aed3f-15a5-11ea-baa0-026d231574aa 40Gi RWO ocs-storagecluster-ceph-rbd 8d
モニタリング
configmap
を編集します。$ oc -n openshift-monitoring edit configmap cluster-monitoring-config
以下の例が示すように、OpenShift Container Storage ストレージクラスを参照する
config
セクションを削除し、これを保存します。編集前
. . . apiVersion: v1 data: config.yaml: | alertmanagerMain: volumeClaimTemplate: metadata: name: my-alertmanager-claim spec: resources: requests: storage: 40Gi storageClassName: ocs-storagecluster-ceph-rbd prometheusK8s: volumeClaimTemplate: metadata: name: my-prometheus-claim spec: resources: requests: storage: 40Gi storageClassName: ocs-storagecluster-ceph-rbd kind: ConfigMap metadata: creationTimestamp: "2019-12-02T07:47:29Z" name: cluster-monitoring-config namespace: openshift-monitoring resourceVersion: "22110" selfLink: /api/v1/namespaces/openshift-monitoring/configmaps/cluster-monitoring-config uid: fd6d988b-14d7-11ea-84ff-066035b9efa8 . . .
編集後
. . . apiVersion: v1 data: config.yaml: | kind: ConfigMap metadata: creationTimestamp: "2019-11-21T13:07:05Z" name: cluster-monitoring-config namespace: openshift-monitoring resourceVersion: "404352" selfLink: /api/v1/namespaces/openshift-monitoring/configmaps/cluster-monitoring-config uid: d12c796a-0c5f-11ea-9832-063cd735b81c . . .
この例では、
alertmanagerMain
およびprometheusK8s
モニターリングコンポーネントは OpenShift Container Storage PVC を使用しています。関連する PVC を削除します。ストレージクラスを使用するすべての PVC を削除してください。
$ oc delete -n openshift-monitoring pvc <pvc-name> --wait=true --timeout=5m
3.3. OpenShift Container Storage からの OpenShift Container Platform レジストリーの削除
このセクションを使用して、OpenShift Container Storage から OpenShift Container Platform レジストリーをクリーンアップします。代替ストレージを設定する必要がある場合は、イメージレジストリー を参照してください。
OpenShift Container Platform レジストリーの設定の一部として作成される PVC は openshift-image-registry
namespace に置かれます。
前提条件
- イメージレジストリーは OpenShift Container Storage PVC を使用するように設定されている必要があります。
手順
configs.imageregistry.operator.openshift.io
オブジェクトを編集し、storage セクションのコンテンツを削除します。$ oc edit configs.imageregistry.operator.openshift.io
編集前
. . . storage: pvc: claim: registry-cephfs-rwx-pvc . . .
編集後
. . . storage: . . .
この例では、PVC は
registry-cephfs-rwx-pvc
と呼ばれ、これは安全に削除できます。PVC を削除します。
$ oc delete pvc <pvc-name> -n openshift-image-registry --wait=true --timeout=5m
3.4. OpenShift Container Storage からのクラスターロギング Operator の削除
このセクションでは、クラスターロギング Operator を OpenShift Container Storage からクリーンアップします。
クラスターロギング Operator の設定の一部として作成される PVC は openshift-logging
namespace にあります。
前提条件
- クラスターロギングインスタンスは、OpenShift Container Storage PVC を使用するように設定されている必要があります。
手順
namespace の
ClusterLogging
インスタンスを削除します。$ oc delete clusterlogging instance -n openshift-logging --wait=true --timeout=5m
openshift-logging
namespace の PVC は安全に削除できます。PVC を削除します。
$ oc delete pvc <pvc-name> -n openshift-logging --wait=true --timeout=5m