VMware vSphere 上での OpenShift Data Foundation のデプロイ
VMware vSphere インフラストラクチャーを使用した OpenShift Data Foundation のデプロイ手順
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ を参照してください。
Red Hat ドキュメントへのフィードバック (英語のみ)
Red Hat ドキュメントに対するご意見をお聞かせください。ドキュメントの改善点があれば、ぜひお知らせください。フィードバックをお寄せいただくには、以下をご確認ください。
特定の部分についての簡単なコメントをお寄せいただく場合は、以下をご確認ください。
- ドキュメントの表示が Multi-page HTML 形式になっていていることを確認してください。ドキュメントの右上隅に Feedback ボタンがあることを確認してください。
- マウスカーソルを使用して、コメントを追加するテキストの部分を強調表示します。
- 強調表示されたテキストの下に表示される Add Feedback ポップアップをクリックします。
- 表示される指示に従ってください。
より詳細なフィードバックをお寄せいただく場合は、Bugzilla のチケットを作成してください。
- Bugzilla の Web サイトに移動します。
- Component セクションで、documentation を選択します。
- Description フィールドに、ドキュメントの改善に向けたご提案を記入してください。ドキュメントの該当部分へのリンクも追加してください。
- Submit Bug をクリックします。
はじめに
Red Hat OpenShift Data Foundation は、接続環境または非接続環境での既存の Red Hat OpenShift Container Platform (RHOCP) vSphere クラスターへのデプロイメントをサポートし、プロキシー環境に対する追加設定なしのサポートを提供します。
VMware vSphere では、内部と外部の両方の OpenShift Data Foundation クラスターがサポートされます。デプロイメントの要件の詳細は、デプロイメントのプランニング および OpenShift Data Foundation のデプロイの準備 を参照してください。
OpenShift Data Foundation をデプロイするには、OpenShift Data Foundation のデプロイの準備 の章の要件を確認し、環境についての以下のデプロイメントプロセスのいずれかを実行します。
第1章 OpenShift Data Foundation のデプロイの準備
動的またはローカルストレージデバイスを使用して OpenShift Data Foundation を OpenShift Container Platform にデプロイすると、内部クラスターリソースを作成するオプションが提供されます。これにより、ベースサービスの内部プロビジョニングが可能になり、追加のストレージクラスをアプリケーションで使用できるようになります。
動的またはローカルストレージを使用して Red Hat OpenShift Data Foundation のデプロイメントを開始する前に、リソース要件を満たしていることを確認してください。デプロイメントのプランニング を参照してください。
オプション:外部キー管理システム (KMS) を使用してクラスター全体の暗号化を有効にする場合は、次の手順に従います。
- 有効な Red Hat OpenShift Data Foundation Advanced サブスクリプションがあることを確認してください。OpenShift Data Foundation のサブスクリプションの仕組みを確認するには、OpenShift Data Foundation subscriptions に関するナレッジベースの記事 を参照してください。
- 暗号化にトークン認証方法が選択されている場合は、KMS を使用したトークン認証によるクラスター全体の暗号化の有効化 を参照してください。
- 暗号化に Kubernetes 認証方式が選択されている場合は、KMS を使用した Kubernetes 認証によるクラスター全体の暗号化の有効化 を参照してください。
- Vault サーバーで署名済みの証明書を使用していることを確認します。
ノードの最小要件
OpenShift Data Foundation クラスターは、標準のデプロイメントリソース要件を満たしていない場合に、最小の設定でデプロイされます。プランニングガイドの リソース要件 セクションを参照してください。
Regional-DR 要件 [開発者プレビュー]
Red Hat OpenShift Data Foundation でサポートされる障害復旧機能では、障害復旧ソリューションを正常に実装するために以下の前提条件をすべて満たす必要があります。
- 有効な Red Hat OpenShift Data Foundation Advanced サブスクリプション
有効な Red Hat Advanced Cluster Management for Kubernetes サブスクリプション
OpenShift Data Foundation のサブスクリプションの仕組みを確認するには、OpenShift Data Foundation subscriptions に関するナレッジベースの記事 を参照してください。
詳細な要件は、Regional-DR requirements および RHACM requirements を参照してください。
- ローカルストレージデバイスを使用したデプロイについては、ローカルストレージデバイスを使用して OpenShift Data Foundation をインストールするための要件 を確認します。これらは、動的ストレージデバイスを使用するデプロイメントには該当しません。
1.1. ローカルストレージデバイスを使用して OpenShift Data Foundation をインストールするための要件
ノードの要件
クラスターは少なくとも 3 つの OpenShift Container Platform ワーカーノードで設定されており、ノードごとにローカルに接続されたストレージデバイスを備えている。
- 選択した 3 つのノードには、OpenShift Data Foundation で使用できる raw ブロックデバイスが少なくとも 1 つ必要です。
- 使用するデバイスは空である必要があります。ディスクには物理ボリューム (PV)、ボリュームグループ (VG)、または論理ボリューム (LV) を含めないでください。
詳細は、プランニングガイドのリソース要件 のセクションを参照してください。
Regional-DR 要件 [開発者プレビュー]
Red Hat OpenShift Data Foundation でサポートされる障害復旧機能では、障害復旧ソリューションを正常に実装するために以下の前提条件をすべて満たす必要があります。
- 有効な Red Hat OpenShift Data Foundation Advanced サブスクリプション
- 有効な Red Hat Advanced Cluster Management for Kubernetes サブスクリプション
OpenShift Data Foundation のサブスクリプションの仕組みを確認するには、OpenShift Data Foundation subscriptions に関するナレッジベースの記事 を参照してください。
詳細な要件は、Regional-DR requirements および RHACM requirements を参照してください。
Arbiter ストレッチクラスターの要件 [テクノロジープレビュー]
この例では、3 番目のゾーンを Arbiter の場所とした上で、単一クラスターが 2 つのゾーンにデプロイメントされます。これはテクノロジープレビュー機能であり、現時点では OpenShift Container Platform オンプレミスおよび同じデータセンターでのデプロイメントを目的としています。このソリューションは、複数のデータセンターにまたがる展開には推奨できません。代わりに、複数のデータセンターにデプロイされており、ネットワークのレイテンシーが低く、データ損失がない DR ソリューションの 1 番のオプションとして、Metro-DR を検討してください。
詳細な要件および手順は、Configuring OpenShift Data Foundation for stretch cluster を参照してください。
柔軟なスケーリングおよび Arbiter はどちらもスケーリングロジックの競合がある場合も同時に有効にすることはできません。Flexible scaling を使用すると、1 度に 1 つのノードを OpenShift Data Foundation クラスターに追加することができます。Arbiter クラスターでは、2 つのデータゾーンごとに 1 つ以上のノードを追加する必要があります。
ノードの最小要件
OpenShift Data Foundation クラスターは、標準のデプロイメントリソース要件を満たしていない場合に、最小の設定でデプロイされます。
詳細は、プランニングガイドのリソース要件 のセクションを参照してください。
第2章 動的ストレージデバイスを使用したデプロイ
VMware vSphere (ディスク形式: thin) で提供される動的ストレージデバイスを使用して OpenShift Data Foundation を OpenShift Container Platform にデプロイすると、内部クラスターリソースを作成するオプションが提供されます。これにより、ベースサービスの内部プロビジョニングが可能になり、追加のストレージクラスをアプリケーションで使用できるようになります。
VMware vSphere では、内部と外部の両方の OpenShift Data Foundation クラスターがサポートされます。デプロイメント要件の詳細は、デプロイメントの計画 を参照してください。
また、OpenShift Data Foundation のデプロイの準備 の章にある要件に対応していることを確認してから、動的ストレージデバイスを使用したデプロイについて以下の手順を実行してください。
2.1. Red Hat OpenShift Data Foundation Operator のインストール
Red Hat OpenShift Data Foundation Operator は、Red Hat OpenShift Container Platform Operator Hub を使用してインストールできます。
前提条件
-
cluster-admin
および Operator インストールのパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 - Red Hat OpenShift Container Platform クラスターにワーカーノードが少なくとも 3 つある。
- その他のリソース要件は、デプロイメントのプランニング ガイドを参照してください。
OpenShift Data Foundation のクラスター全体でのデフォルトノードセレクターを上書きする必要がある場合は、コマンドラインインターフェイスで以下のコマンドを使用し、
openshift-storage
namespace の空のノードセレクターを指定できます (この場合、openshift-storage namespace を作成します)。$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
ノードに Red Hat OpenShift Data Foundation リソースのみがスケジュールされるように
infra
のテイントを設定します。これにより、サブスクリプションコストを節約できます。詳細は、ストレージリソースの管理および割り当てガイドのHow to use dedicated worker nodes for Red Hat OpenShift Data Foundationの章を参照してください。
手順
- OpenShift Web コンソールにログインします。
- Operators → OperatorHub をクリックします。
-
スクロールするか、
OpenShift Data Foundation
を Filter by keyword ボックスに入力し、OpenShift Data Foundation Operator を検索します。 - Install をクリックします。
Install Operator ページで、以下のオプションを設定します。
- Channel を stable-4.10 として更新します。
- Installation Mode オプションに A specific namespace on the cluster を選択します。
-
Installed Namespace に Operator recommended namespace openshift-storage を選択します。namespace
openshift-storage
が存在しない場合、これは Operator のインストール時に作成されます。 承認ストラテジー を Automatic または Manual として選択します。
Automatic (自動) 更新を選択した場合、Operator Lifecycle Manager (OLM) は介入なしに、Operator の実行中のインスタンスを自動的にアップグレードします。
Manual 更新を選択した場合、OLM は更新要求を作成します。クラスター管理者は、Operator を新しいバージョンに更新できるように更新要求を手動で承認する必要があります。
- Console プラグイン に Enable オプションが選択されていることを確認します。
- Install をクリックします。
検証手順
- OpenShift Data Foundation Operator に、インストールが正常に実行されたことを示す緑色のチェックマークが表示されていることを確認します。
Operator が正常にインストールされると、
Web console update is available
メッセージを含むポップアップがユーザーインターフェイスに表示されます。このポップアップから Refresh web console をクリックして、反映するコンソールを変更します。- Web コンソールで、Operators に移動し、OpenShift Data Foundation が利用可能かどうかを確認します。
2.2. トークン認証方法を使用した KMS を使用したクラスター全体の暗号化の有効化
Valut でトークン認証のキー値バックエンドパスとポリシーを有効にするには、次の手順に従います。
前提条件
- Vault への管理者アクセス。
- 有効な Red Hat OpenShift Data Foundation Advanced サブスクリプション。詳細は、OpenShift Data Foundation サブスクリプションに関するナレッジベースの記事 を参照してください。
-
注: 後に変更することはできないため、命名規則に基づいてバックエンド
path
として一意のパス名を選択します。
手順
Vault で Key/Value (KV) バックエンドパスを有効にします。
Vault KV シークレットエンジン API の場合は、バージョン 1 を使用します。
$ vault secrets enable -path=odf kv
Vault KV シークレットエンジン API の場合は、バージョン 2 を使用します。
$ vault secrets enable -path=odf kv-v2
以下のコマンドを使用して、シークレットでの書き込み操作または削除操作の実行をユーザーを制限するポリシーを作成します。
echo ' path "odf/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "sys/mounts" { capabilities = ["read"] }'| vault policy write odf -
上記のポリシーに一致するトークンを作成します。
$ vault token create -policy=odf -format json
2.3. Kubernetes 認証方式を使用した KMS でのクラスター全体の暗号化の有効化
キー管理システム (KMS) を使用して、クラスター全体の暗号化に対して Kubernetes 認証方式を有効にできます。
前提条件
- Vault への管理者アクセス。
- 有効な Red Hat OpenShift Data Foundation Advanced サブスクリプション。詳細は、OpenShift Data Foundation サブスクリプションに関するナレッジベースの記事 を参照してください。
- OpenShift Data Foundation Operator は Operator Hub からインストールしておく。
後に変更することはできないため、命名規則に基づいてバックエンド
path
として一意のパス名を選択します。注記Vault namespace の使用は、OpenShift Data Foundation 4.10 の Kubernetes 認証方式ではサポートされていません
手順
サービスアカウントを作成します。
$ oc -n openshift-storage create serviceaccount <serviceaccount_name>
ここで、
<serviceaccount_name>
はサービスアカウントの名前を指定します。以下に例を示します。
$ oc -n openshift-storage create serviceaccount odf-vault-auth
clusterrolebindings
とclusterroles
を作成します。$ oc -n openshift-storage create clusterrolebinding vault-tokenreview-binding --clusterrole=system:auth-delegator --serviceaccount=openshift-storage:_<serviceaccount_name>_
以下に例を示します。
$ oc -n openshift-storage create clusterrolebinding vault-tokenreview-binding --clusterrole=system:auth-delegator --serviceaccount=openshift-storage:odf-vault-auth
OpenShift Container Platform のバージョンに応じて、以下のいずれかを実行します。
OpenShift Container Platform 4.10 の場合:
上記で作成された serviceaccount (SA) に関連付けられたシークレット名を特定します。
$ VAULT_SA_SECRET_NAME=$(oc -n openshift-storage get sa <SA_NAME> -o jsonpath="{.secrets[*]['name']}") | grep -o "[^[:space:]]*-token-[^[:space:]]*"
以下に例を示します。
$ VAULT_SA_SECRET_NAME=$(oc -n openshift-storage get sa odf-vault-auth -o jsonpath="{.secrets[*]['name']}" | grep -o "[^[:space:]]*-token-[^[:space:]]*")
OpenShift Container Platform 4.11 の場合:
serviceaccount
トークンおよび CA 証明書のシークレットを作成します。$ cat <<EOF | oc create -f - apiVersion: v1 kind: Secret metadata: name: odf-vault-auth-token namespace: openshift-storage annotations: kubernetes.io/service-account.name: <serviceaccount_name> type: kubernetes.io/service-account-token data: {} EOF
ここで、
<serviceaccount_name>
は、前の手順で作成したサービスアカウントです。$ VAULT_SA_SECRET_NAME=odf-vault-auth-token
シークレットからトークンと CA 証明書を取得します。
$ SA_JWT_TOKEN=$(oc -n openshift-storage get secret "$VAULT_SA_SECRET_NAME" -o jsonpath="{.data.token}" | base64 --decode; echo) $ SA_CA_CRT=$(oc -n openshift-storage get secret "$VAULT_SA_SECRET_NAME" -o jsonpath="{.data['ca\.crt']}" | base64 --decode; echo)
OCP クラスターエンドポイントを取得します。
$ OCP_HOST=$(oc config view --minify --flatten -o jsonpath="{.clusters[0].cluster.server}")
サービスアカウントの発行者を取得します。
$ oc proxy & $ proxy_pid=$! $ issuer="$( curl --silent http://127.0.0.1:8001/.well-known/openid-configuration | jq -r .issuer)" $ kill $proxy_pid
上記の手順で収集した情報を使用して、以下に示すように Vault で Kubernetes 認証方法を設定します。
$ vault auth enable kubernetes $ vault write auth/kubernetes/config \ token_reviewer_jwt="$SA_JWT_TOKEN" \ kubernetes_host="$OCP_HOST" \ kubernetes_ca_cert="$SA_CA_CRT" \ issuer="$issuer"
重要発行者が空の場合に Vault で Kubernetes 認証方法を設定するには、以下を行います。
$ vault write auth/kubernetes/config \ token_reviewer_jwt="$SA_JWT_TOKEN" \ kubernetes_host="$OCP_HOST" \ kubernetes_ca_cert="$SA_CA_CRT"
Vault で Key/Value (KV) バックエンドパスを有効にします。
Vault KV シークレットエンジン API の場合は、バージョン 1 です。
$ vault secrets enable -path=odf kv
Vault KV シークレットエンジン API の場合は、バージョン 2 です。
$ vault secrets enable -path=odf kv-v2
シークレットに対して書き込み操作または削除操作を実行するようにユーザーを制限するポリシーを作成します。
echo ' path "odf/*" { capabilities = ["create", "read", "update", "delete", "list"] } path "sys/mounts" { capabilities = ["read"] }'| vault policy write odf -
ロールを作成します。
$ vault write auth/kubernetes/role/odf-rook-ceph-op \ bound_service_account_names=rook-ceph-system,rook-ceph-osd,noobaa \ bound_service_account_namespaces=openshift-storage \ policies=odf \ ttl=1440h
ロール
odf-rook-ceph-op
は、後でストレージシステムの作成中に KMS 接続の詳細を設定するときに使用されます。$ vault write auth/kubernetes/role/odf-rook-ceph-osd \ bound_service_account_names=rook-ceph-osd \ bound_service_account_namespaces=openshift-storage \ policies=odf \ ttl=1440h
2.4. Multus ネットワークの作成 [テクノロジープレビュー]
OpenShift Container Platform は、Multus CNI プラグインを使用して CNI プラグインのチェーンを許可します。クラスターのインストール時に、デフォルトの Pod ネットワークを設定できます。デフォルトのネットワークは、クラスターのすべての通常のネットワークトラフィックを処理します。利用可能な CNI プラグインに基づいて 追加のネットワーク を定義し、1 つまたは複数のネットワークを Pod に割り当てることができます。追加のネットワークを Pod に割り当てるには、インターフェイスの割り当て方法を定義する設定を作成する必要があります。それぞれのインターフェイスは、NetworkAttachmentDefinition カスタムリソース (CR) を使用して指定します。それぞれの NetworkAttachmentDefinition 内の CNI 設定は、インターフェイスの作成方法を定義します。
OpenShift Data Foundation は、macvlan と呼ばれる CNI プラグインを使用します。macvlan ベースの追加ネットワークを作成することで、ホスト上の Pod が物理ネットワークインターフェイスを使用して他のホストやそれらのホストの Pod と通信できます。macvlan ベースの追加ネットワークに割り当てられる各 Pod には固有の MAC アドレスが割り当てられます。
Multus のサポートはテクノロジープレビュー機能としてのみサポートされ、ベアメタルおよび VMWare デプロイメントでテストされます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
2.4.1. ネットワーク接続定義の作成
Multus を使用するには、正しいネットワーク設定ですでに機能するクラスターが必要です。Multus 設定の推奨ネットワーク設定および要件 を参照してください。新規に作成された NetworkAttachmentDefinition (NAD) は、Storage Cluster のインストール時に選択できます。これは、Storage Cluster の前に作成する必要のある理由です。
Planning Guide で説明されているように、作成する Multus ネットワークは、OpenShift Data Foundation トラフィックで利用可能なネットワークインターフェイスの数によって異なります。すべてのストレージトラフィックを 2 つのインターフェイス (デフォルトの OpenShift SDN に使用されるインターフェイス 1 つ) に分割するか、ストレージストレージトラフィック (パブリック) およびストレージレプリケーショントラフィック (プライベートまたはクラスター) にさらに分割することもできます。
以下は、同じインターフェイス上のすべてのストレージトラフィック (パブリックおよびクラスター) の NetworkAttachmentDefinition
の例です。すべてのスケジュール可能なノードに 1 つの追加インターフェイスが必要になります (OpenShift のデフォルト: 個別のネットワークインターフェイス上の OpenShift のデフォルト)。
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: ocs-public-cluster namespace: openshift-storage spec: config: '{ "cniVersion": "0.3.1", "type": "macvlan", "master": "ens2", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "192.168.1.0/24" } }'
すべてのネットワークインターフェイス名は、Multus ネットワークに接続されているすべてのノードで同じである必要があります (例: ocs-public-cluster
の場合は ens2
)。
以下は、個別の Multus ネットワーク上のストレージトラフィックの NetworkAttachmentDefinition
の例になります。これは、クライアントストレージトラフィックのパブリックおよびレプリケーショントラフィック用のクラスターです。OSD Pod をホストする OpenShift ノードに 2 つの追加インターフェイスと、他のスケジュール可能なすべてのノードで 1 つの追加インターフェイス (OpenShift デフォルト SDN) が必要です。
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: ocs-public namespace: openshift-storage spec: config: '{ "cniVersion": "0.3.1", "type": "macvlan", "master": "ens2", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "192.168.1.0/24" } }'
NetworkAttachmentDefinition
の例:
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: ocs-cluster namespace: openshift-storage spec: config: '{ "cniVersion": "0.3.1", "type": "macvlan", "master": "ens3", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "192.168.2.0/24" } }'
すべてのネットワークインターフェイス名は、Multus ネットワークにアタッチされたすべてのノードで同じである必要があります (つまり、ocs-public
の場合は ens2
、ocs-cluster
の場合は ens3
です)。
2.5. OpenShift Data Foundation クラスターの作成
OpenShift Data Foundation Operator のインストール後に OpenShift Data Foundation クラスターを作成します。
前提条件
- OpenShift Data Foundation Operator は Operator Hub からインストールしておく。詳細は、OpenShift Data Foundation Operator のインストール を参照してください。
-
VMware の仮想マシンでは、
disk.EnableUUID
オプションがTRUE
に設定されていることを確認してください。仮想マシンを設定するには、vCenter アカウントの権限が必要です。詳細は、必要な vCenter アカウント権限 を参照してください。disk.EnableUUID
オプションを設定するには、Customize hardware タブの VM Options の Advanced オプションを使用します。詳細は、vSphere へのインストール を参照してください。 -
オプション:柔軟性を高めるためにシックプロビジョニングのストレージを使用する場合は、
zeroedthick
またはeagerzeroedthick
のディスク形式でストレージクラスを作成する必要があります。詳細は、VMware vSphere オブジェクト定義 を参照してください。 - multus サポートのテクノロジープレビュー機能を使用する必要がある場合には、デプロイメントの前に、後でクラスターにアタッチされるネットワーク接続定義 (NAD) を作成する必要があります。詳細は、マルチネットワークプラグイン (Multus) のサポート および ネットワーク接続定義の作成 を参照してください。
手順
OpenShift Web コンソールで、Operators → Installed Operators をクリックし、インストールされた Operator を表示します。
選択された Project が
openshift-storage
であることを確認します。- OpenShift Data Foundation Operator をクリックした後、Create StorageSystem をクリックします。
Backing storage ページで、以下を選択します。
- Deployment type オプションで Full Deployment を選択します。
- Use an existing StorageClass オプションを選択します。
Storage Class を選択します。
デフォルトでは
thin
に設定されます。シックプロビジョニングのストレージ用に、zeroedthick
またはeagerzeroedthick
ディスクフォーマットでストレージクラスを作成した場合は、そのストレージクラスがデフォルトのthin
ストレージクラスに加えて表示されます。- Next をクリックします。
Capacity and nodes ページで、必要な情報を提供します。
ドロップダウンリストから Requested Capacity の値を選択します。デフォルトで、これは
2 TiB
に設定されます。注記初期ストレージ容量を選択すると、クラスターの拡張は、選択された使用可能な容量を使用してのみ実行されます (raw ストレージの 3 倍)。
- Select Nodes セクションで、少なくとも 3 つの利用可能なノードを選択します。
オプション:選択したノードを OpenShift Data Foundation 専用にする場合は、Taint nodes チェックボックスを選択します。
高可用性を確保するために、ワーカーノードは 3 つの異なる物理ノード、ラック、障害ドメインに分散します。
vCenter の非アフィニティーを使用して OpenShift Data Foundation のラックラベルをデータセンターの物理ノードおよびラックラベルに合わせて調整し、同じ物理シャーシに 2 つのワーカーノードがスケジュールされないようにします。
選択したノードが集約された 30 CPU および 72 GiB の RAM の OpenShift Data Foundation クラスターの要件と一致しない場合は、最小クラスターがデプロイされます。ノードの最小要件は、プランニングガイドの リソース要件 セクションを参照してください。
Taint nodes チェックボックスを選択して、選択したノードを OpenShift Data Foundation 専用にします。
- Next をクリックします。
オプション:Security and network ページで、要件に応じて以下を設定します。
- 暗号化を有効にするには、Enable data encryption for block and file storage を選択します。
暗号化レベルのいずれかまたは両方を選択します。
クラスター全体の暗号化
クラスター全体を暗号化します (ブロックおよびファイル)。
StorageClass の暗号化
暗号化対応のストレージクラスを使用して、暗号化された永続ボリューム (ブロックのみ) を作成します。
Connect to an external key management service チェックボックスを選択します。これはクラスター全体の暗号化の場合はオプションになります。
-
Key Management Service Provider はデフォルトで
Vault
に設定されます。 認証方法を選択します。
- トークン認証方式の使用
- Vault ('https://<hostname or ip>') サーバーの一意の Connection Name、ホストの Address、Port 番号および Token を入力します。
Advanced Settings をデプロイメントして、
Vault
設定に基づいて追加の設定および証明書の詳細を入力します。- OpenShift Data Foundation 専用かつ特有のキーと値のシークレットパスを Backend Path に入力します。
- オプション:TLS Server Name および Vault Enterprise Namespace を入力します。
- それぞれの PEM でエンコードされた証明書ファイルをアップロードし、CA 証明書、クライアント証明書、および クライアントの秘密鍵 を提供します。
- Save をクリックします。
- Kubernetes 認証方式の使用
- Vault ('https://<hostname or ip>') サーバーの一意の Connection Name、ホストの Address、Port 番号および Role 名を入力します。
Advanced Settings をデプロイメントして、
Vault
設定に基づいて追加の設定および証明書の詳細を入力します。- OpenShift Data Foundation 専用かつ特有のキーと値のシークレットパスを Backend Path に入力します。
- オプション:該当する場合は、TLS サーバー名 および 認証パス を入力します。
- PEM でエンコードされた、該当の証明書ファイルをアップロードし、CA 証明書、クライアント証明書、および クライアントの秘密鍵 を指定します。
- Save をクリックします。
-
Key Management Service Provider はデフォルトで
単一のネットワークを使用する場合は Default (SDN) を選択し、複数のネットワークインターフェイスを使用する場合は Custom (Multus) ネットワークを選択します。
- ドロップダウンメニューから Public Network Interface を選択します。
ドロップダウンメニューから Cluster Network Interface を選択します。
注記追加のネットワークインターフェイスを 1 つだけ使用している場合は、単一の
NetworkAttachementDefinition
(Public Network Interfaceにはocs-public-cluster
) を選択し、Cluster Network Interfaceは空白のままにします。
- Next をクリックします。
Review and create ページで、設定の詳細を確認します。
設定を変更するには、Back をクリックします。
- Create StorageSystem をクリックします。
検証手順
インストールされたストレージクラスターの最終ステータスを確認するには、以下を実行します。
- OpenShift Web コンソールで、Installed Operators → OpenShift Data Foundation → Storage System → ocs-storagecluster-storagesystem → Resources の順に移動します。
StorageCluster
のStatus
がReady
になっており、それの横に緑色のチェックマークが表示されていることを確認します。- OpenShift Data Foundation のすべてのコンポーネントが正常にインストールされていることを確認するには、OpenShift Data Foundation デプロイメントの確認 を参照してください。
- マルチネットワーク (Multus) を確認するには、Verifying the Multus networkingを参照してください。
関連情報
Overprovision Control アラートを有効にするには、モニタリングガイドの アラート を参照してください。
第3章 ローカルストレージデバイスを使用したデプロイ
ローカルストレージデバイスを使用して OpenShift Data Foundation を OpenShift Container Platform にデプロイすると、内部クラスターリソースを作成するオプションが提供されます。これにより、ベースサービスの内部プロビジョニングが可能になり、追加のストレージクラスをアプリケーションで使用できるようになります。
このセクションを使用して、OpenShift Container Platform がすでにインストールされている VMware インフラストラクチャーに OpenShift Data Foundation をインストールします。
また、OpenShift Data Foundation のデプロイの準備 の章にある要件に対応していることを確認してから、以下の手順に進んでください。
3.1. ローカルストレージ Operator のインストール
ローカルストレージデバイスに Red Hat OpenShift Data Foundation クラスターを作成する前に、Operator Hub からローカルストレージ Operator をインストールします。
手順
- OpenShift Web コンソールにログインします。
- Operators → OperatorHub をクリックします。
-
Filter by keywordに
local storage
と入力します。 Operator の一覧から Local Storage Operator を見つけ、これをクリックします。 Install Operator ページで、以下のオプションを設定します。
-
チャンネルを
4.10
またはstable
のいずれかにして更新します。 - インストールモードに A specific namespace on the cluster を選択します。
- Installed Namespace に Operator recommended namespace openshift-local-storage を選択します。
- 承認を Automatic として更新します。
-
チャンネルを
- Install をクリックします。
検証手順
- Local Storage Operator に、インストールが正常に実行されたことを示す緑色のチェックマークが表示されていることを確認します。
3.2. Red Hat OpenShift Data Foundation Operator のインストール
Red Hat OpenShift Data Foundation Operator は、Red Hat OpenShift Container Platform Operator Hub を使用してインストールできます。
前提条件
-
cluster-admin
および Operator インストールのパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 - Red Hat OpenShift Container Platform クラスターにワーカーノードが少なくとも 3 つある。
- その他のリソース要件は、デプロイメントのプランニング ガイドを参照してください。
OpenShift Data Foundation のクラスター全体でのデフォルトノードセレクターを上書きする必要がある場合は、コマンドラインインターフェイスで以下のコマンドを使用し、
openshift-storage
namespace の空のノードセレクターを指定できます (この場合、openshift-storage namespace を作成します)。$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
ノードに Red Hat OpenShift Data Foundation リソースのみがスケジュールされるように
infra
のテイントを設定します。これにより、サブスクリプションコストを節約できます。詳細は、ストレージリソースの管理および割り当てガイドのHow to use dedicated worker nodes for Red Hat OpenShift Data Foundationの章を参照してください。
手順
- OpenShift Web コンソールにログインします。
- Operators → OperatorHub をクリックします。
-
スクロールするか、
OpenShift Data Foundation
を Filter by keyword ボックスに入力し、OpenShift Data Foundation Operator を検索します。 - Install をクリックします。
Install Operator ページで、以下のオプションを設定します。
- Channel を stable-4.10 として更新します。
- Installation Mode オプションに A specific namespace on the cluster を選択します。
-
Installed Namespace に Operator recommended namespace openshift-storage を選択します。namespace
openshift-storage
が存在しない場合、これは Operator のインストール時に作成されます。 承認ストラテジー を Automatic または Manual として選択します。
Automatic (自動) 更新を選択した場合、Operator Lifecycle Manager (OLM) は介入なしに、Operator の実行中のインスタンスを自動的にアップグレードします。
Manual 更新を選択した場合、OLM は更新要求を作成します。クラスター管理者は、Operator を新しいバージョンに更新できるように更新要求を手動で承認する必要があります。
- Console プラグイン に Enable オプションが選択されていることを確認します。
- Install をクリックします。
検証手順
- OpenShift Data Foundation Operator に、インストールが正常に実行されたことを示す緑色のチェックマークが表示されていることを確認します。
Operator が正常にインストールされると、
Web console update is available
メッセージを含むポップアップがユーザーインターフェイスに表示されます。このポップアップから Refresh web console をクリックして、反映するコンソールを変更します。- Web コンソールで、Operators に移動し、OpenShift Data Foundation が利用可能かどうかを確認します。
3.3. Multus ネットワークの作成 [テクノロジープレビュー]
OpenShift Container Platform は、Multus CNI プラグインを使用して CNI プラグインのチェーンを許可します。クラスターのインストール時に、デフォルトの Pod ネットワークを設定できます。デフォルトのネットワークは、クラスターのすべての通常のネットワークトラフィックを処理します。利用可能な CNI プラグインに基づいて 追加のネットワーク を定義し、1 つまたは複数のネットワークを Pod に割り当てることができます。追加のネットワークを Pod に割り当てるには、インターフェイスの割り当て方法を定義する設定を作成する必要があります。それぞれのインターフェイスは、NetworkAttachmentDefinition カスタムリソース (CR) を使用して指定します。それぞれの NetworkAttachmentDefinition 内の CNI 設定は、インターフェイスの作成方法を定義します。
OpenShift Data Foundation は、macvlan と呼ばれる CNI プラグインを使用します。macvlan ベースの追加ネットワークを作成することで、ホスト上の Pod が物理ネットワークインターフェイスを使用して他のホストやそれらのホストの Pod と通信できます。macvlan ベースの追加ネットワークに割り当てられる各 Pod には固有の MAC アドレスが割り当てられます。
Multus のサポートはテクノロジープレビュー機能としてのみサポートされ、ベアメタルおよび VMWare デプロイメントでテストされます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
3.3.1. ネットワーク接続定義の作成
Multus を使用するには、正しいネットワーク設定ですでに機能するクラスターが必要です。Multus 設定の推奨ネットワーク設定および要件 を参照してください。新規に作成された NetworkAttachmentDefinition (NAD) は、Storage Cluster のインストール時に選択できます。これは、Storage Cluster の前に作成する必要のある理由です。
Planning Guide で説明されているように、作成する Multus ネットワークは、OpenShift Data Foundation トラフィックで利用可能なネットワークインターフェイスの数によって異なります。すべてのストレージトラフィックを 2 つのインターフェイス (デフォルトの OpenShift SDN に使用されるインターフェイス 1 つ) に分割するか、ストレージストレージトラフィック (パブリック) およびストレージレプリケーショントラフィック (プライベートまたはクラスター) にさらに分割することもできます。
以下は、同じインターフェイス上のすべてのストレージトラフィック (パブリックおよびクラスター) の NetworkAttachmentDefinition
の例です。すべてのスケジュール可能なノードに 1 つの追加インターフェイスが必要になります (OpenShift のデフォルト: 個別のネットワークインターフェイス上の OpenShift のデフォルト)。
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: ocs-public-cluster namespace: openshift-storage spec: config: '{ "cniVersion": "0.3.1", "type": "macvlan", "master": "ens2", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "192.168.1.0/24" } }'
すべてのネットワークインターフェイス名は、Multus ネットワークに接続されているすべてのノードで同じである必要があります (例: ocs-public-cluster
の場合は ens2
)。
以下は、個別の Multus ネットワーク上のストレージトラフィックの NetworkAttachmentDefinition
の例になります。これは、クライアントストレージトラフィックのパブリックおよびレプリケーショントラフィック用のクラスターです。OSD Pod をホストする OpenShift ノードに 2 つの追加インターフェイスと、他のスケジュール可能なすべてのノードで 1 つの追加インターフェイス (OpenShift デフォルト SDN) が必要です。
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: ocs-public namespace: openshift-storage spec: config: '{ "cniVersion": "0.3.1", "type": "macvlan", "master": "ens2", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "192.168.1.0/24" } }'
NetworkAttachmentDefinition
の例:
apiVersion: "k8s.cni.cncf.io/v1" kind: NetworkAttachmentDefinition metadata: name: ocs-cluster namespace: openshift-storage spec: config: '{ "cniVersion": "0.3.1", "type": "macvlan", "master": "ens3", "mode": "bridge", "ipam": { "type": "whereabouts", "range": "192.168.2.0/24" } }'
すべてのネットワークインターフェイス名は、Multus ネットワークにアタッチされたすべてのノードで同じである必要があります (つまり、ocs-public
の場合は ens2
、ocs-cluster
の場合は ens3
です)。
3.4. VMware vSphere での OpenShift Data Foundation クラスターの作成
VMware vSphere は、以下の 3 つのタイプのローカルストレージをサポートします。
- 仮想マシンディスク (VMDK)
- raw デバイスマッピング (RDM)
- VMDirectPath I/O
前提条件
- ローカルストレージデバイスを使用して OpenShift Data Foundation をインストールするための要件 セクションにあるすべての要件を満たしている。
- VMware でローカルストレージデバイスを使用するために、各ノードに同じストレージタイプおよびサイズが割り当てられたワーカーノードが最低でも 3 つある。
-
VMware vSphere の仮想マシンでは、
disk.EnableUUID
オプションがTRUE
に設定されている。仮想マシンを設定するには、vCenter アカウントの権限が必要です。詳細は、必要な vCenter アカウント権限 を参照してください。disk.EnableUUID
オプションを設定するには、Customize hardware タブで VM Options の Advanced オプションを使用します。詳細は、vSphere へのインストール を参照してください。 - multus サポートのテクノロジープレビュー機能を使用する必要がある場合には、デプロイメントの前に、後でクラスターにアタッチされるネットワーク接続定義 (NAD) を作成する必要があります。詳細は、マルチネットワークプラグイン (Multus) のサポート および ネットワーク接続定義の作成 を参照してください。
手順
OpenShift Web コンソールで、Operators → Installed Operators をクリックし、インストールされた Operator を表示します。
選択された Project が
openshift-storage
であることを確認します。- OpenShift Data Foundation Operator をクリックした後、Create StorageSystem をクリックします。
Backing storage ページで、以下を実行します。
- Deployment type オプションで Full Deployment を選択します。
- Create a new StorageClass using the local storage devices オプションを選択します。
Next をクリックします。
注記Local Storage Operator がまだインストールされていない場合は、インストールするように求められます。Install をクリックし、ローカルストレージ Operator のインストール で説明されているように手順に従います。
Create local volume set ページで、以下の情報を提供します。
LocalVolumeSet および StorageClass の名前を入力します。
デフォルトで、ローカルボリュームセット名がストレージクラス名について表示されます。名前を変更できます。
以下のいずれかを選択します。
- Disks on all nodes: すべてのノードにある選択したフィルターに一致する利用可能なディスクを使用します。
Disks on selected nodes: 選択したノードにある選択したフィルターに一致する利用可能なディスクを使用します。
重要フレキシブルスケーリング機能は、3 つ以上のノードで作成したストレージクラスターが 3 つ以上のアベイラビリティーゾーンの最低要件未満に分散されている場合にのみ有効になります。
柔軟なスケーリングについての詳細は、ストレージのスケーリングガイドの Add capacity using YAML セクションを参照してください。
選択したノードが集約された 30 CPU および 72 GiB の RAM の OpenShift Data Foundation クラスターの要件と一致しない場合は、最小クラスターがデプロイされます。
ノードの最小要件は、プランニングガイドの リソース要件 セクションを参照してください。
-
Disk Type の利用可能なリストから、
SSD/NVMe
を選択します。 Advanced セクションを拡張し、以下のオプションを設定します。
ボリュームモード
デフォルトではブロックが選択されます。
デバイスタイプ
ドロップダウンリストから 1 つ以上のデバイスタイプを選択します。
ディスクサイズ
デバイスの最小サイズ 100GB と、含める必要のあるデバイスの最大サイズを設定します。
ディスクの最大数の制限
これは、ノードで作成できる PV の最大数を示します。このフィールドが空のままの場合、PV は一致するノードで利用可能なすべてのディスクに作成されます。
Next をクリックします。
LocalVolumeSet の作成を確認するポップアップが表示されます。
- Yes をクリックして続行します。
Capacity and nodes ページで、以下を設定します。
- Available raw capacity には、ストレージクラスに関連付けられた割り当てられたすべてのディスクに基づいて容量の値が設定されます。これには少し時間がかかります。Selected nodes リストには、ストレージクラスに基づくノードが表示されます。
- オプション:選択したノードを OpenShift Data Foundation 専用にする場合は、Taint nodes チェックボックスを選択します。
- Next をクリックします。
オプション:Security and network ページで、要件に応じて以下を設定します。
- 暗号化を有効にするには、Enable data encryption for block and file storage を選択します。
以下の Encryption level (暗号化レベル) のいずれかを選択します。
- Cluster-wide encryption: クラスター全体 (ブロックおよびファイル) を暗号化します。
- StorageClass encryption: 暗号化対応のストレージクラスを使用して暗号化された永続ボリューム (ブロックのみ) を作成します。
Connect to an external key management service チェックボックスを選択します。これはクラスター全体の暗号化の場合はオプションになります。
-
Key Management Service Provider はデフォルトで
Vault
に設定されます。 認証方法を選択します。
- トークン認証方式の使用
- Vault ('https://<hostname or ip>') サーバーの一意の Connection Name、ホストの Address、Port 番号および Token を入力します。
Advanced Settings をデプロイメントして、
Vault
設定に基づいて追加の設定および証明書の詳細を入力します。- OpenShift Data Foundation 専用かつ特有のキーと値のシークレットパスを Backend Path に入力します。
- オプション:TLS Server Name および Vault Enterprise Namespace を入力します。
- それぞれの PEM でエンコードされた証明書ファイルをアップロードし、CA 証明書、クライアント証明書、および クライアントの秘密鍵 を提供します。
- Save をクリックします。
- Kubernetes 認証方式の使用
- Vault サーバーの一意の Vault 接続名、ホストの アドレス https://<hostname or ip>')、ポート番号および トークン を入力します。
Advanced Settings をデプロイメントして、
Vault
設定に基づいて追加の設定および証明書の詳細を入力します。- OpenShift Data Foundation 専用かつ特有のキーと値のシークレットパスを Backend Path に入力します。
- オプション:該当する場合は、TLS サーバー名 および 認証パス を入力します。
- PEM でエンコードされた、該当の証明書ファイルをアップロードし、CA 証明書、クライアント証明書、および クライアントの秘密鍵 を指定します。
- Save をクリックします。
-
Key Management Service Provider はデフォルトで
以下のいずれかを選択します。
- 単一のネットワークを使用している場合は、Default (SDN) を選択します。
複数のネットワークインターフェイスを使用している場合は、Custom (Multus) を選択します。
- ドロップダウンメニューから Public Network Interface を選択します。
ドロップダウンメニューから Cluster Network Interface を選択します。
注記追加のネットワークインターフェイスを 1 つだけ使用している場合は、単一の
NetworkAttachementDefinition
(Public Network Interface にはocs-public-cluster
) を選択し、Cluster Network Interface は空白のままにします。
- Next をクリックします。
Review and create ページで、設定の詳細を確認します。
- 設定を変更するには、Back をクリックして前の設定ページに戻ります。
- Create StorageSystem をクリックします。
検証手順
インストールされたストレージクラスターの最終ステータスを確認するには、以下を実行します。
- OpenShift Web コンソールで、Installed Operators → OpenShift Data Foundation → Storage System → ocs-storagecluster-storagesystem → Resources の順に移動します。
-
StorageCluster
のStatus
がReady
になっており、それの横に緑色のチェックマークが表示されていることを確認します。
フレキシブルスケーリングがストレージクラスターで有効にされているかどうかを確認するには、以下の手順を実行します (arbiter モードの場合、フレキシブルスケーリングが無効になります)。
- OpenShift Web コンソールで、Installed Operators → OpenShift Data Foundation → Storage System → ocs-storagecluster-storagesystem → Resources の順に移動します。
YAML タブで、
spec
セクションのキーflexibleScaling
とstatus
セクションのflexibleScaling
を検索します。flexible scaling
が true であり、failureDomain
が host に設定されている場合、フレキシブルスケーリング機能が有効になります。spec: flexibleScaling: true […] status: failureDomain: host
- OpenShift Data Foundation のすべてのコンポーネントが正常にインストールされていることを確認するには、OpenShift Data Foundation デプロイメントの確認 を参照してください。
- マルチネットワーク (Multus) を確認するには、Verifying the Multus networkingを参照してください。
関連情報
- 初期クラスターの容量を拡張するには、ストレージのスケーリング ガイドを参照してください。
第4章 OpenShift Data Foundation デプロイメントの確認
このセクションを使用して、OpenShift Data Foundation が正しくデプロイされていることを確認します。
4.1. Pod の状態の確認
手順
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
コンポーネントごとに想定される Pod 数や、ノード数に合わせてこの数値がどのように変化するかなどの詳細は、表4.1「OpenShift Data Foundation クラスターに対応する Pod」 を参照してください。
Running タブおよび Completed タブをクリックして、以下の Pod が
Running
状態およびCompleted
状態にあることを確認します。表4.1 OpenShift Data Foundation クラスターに対応する Pod コンポーネント 対応する Pod OpenShift Data Foundation Operator
-
ocs-operator-*
(任意のワーカーノードに 1 Pod) -
ocs-metrics-exporter-*
(任意のワーカーノードに 1 Pod) -
odf-operator-controller-manager-*
(任意のワーカーノードに 1 Pod) -
odf-console-*
(任意のワーカーノードに 1 Pod) -
csi-addons-controller-manager- *
(任意のワーカーノードに 1 つの Pod)
Rook-ceph Operator
rook-ceph-operator-*
(任意のワーカーノードに 1 Pod)
Multicloud Object Gateway
-
noobaa-operator-*
(任意のワーカーノードに 1 Pod) -
noobaa-core-*
(任意のストレージノードに 1 Pod) -
noobaa-db-pg-*
(任意のストレージノードに 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)
RGW
rook-ceph-rgw-ocs-storagecluster-cephobjectstore-*
(任意のストレージノードに 1 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)
-
4.2. OpenShift Data Foundation クラスターの正常性の確認
手順
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
- Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
- Block and File タブの Status カードで、Storage Cluster に緑色のチェックマークが表示されていることを確認します。
- Details カードで、クラスター情報が表示されていることを確認します。
ブロックおよびファイルダッシュボードを使用した OpenShift Data Foundation クラスターの正常性については、OpenShift Data Foundation の監視 を参照してください。
4.3. Multicloud Object Gateway が正常であることの確認
手順
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
- Object タブの Status card で、Object Service と Data Resiliency の両方に緑色のチェックマークが表示されていることを確認します。
- Details カードで、MCG 情報が表示されることを確認します。
ブロックおよびファイルダッシュボードを使用した OpenShift Data Foundation クラスターの正常性については、OpenShift Data Foundation の監視 を参照してください。
4.4. OpenShift Data Foundation 固有のストレージクラスが存在することの確認
手順
- OpenShift Web コンソールの左側のペインから Storage → Storage Classes をクリックします。
以下のストレージクラスが OpenShift Data Foundation クラスターの作成時に作成されることを確認します。
-
ocs-storagecluster-ceph-rbd
-
ocs-storagecluster-cephfs
-
openshift-storage.noobaa.io
-
ocs-storagecluster-ceph-rgw
-
4.5. Multus ネットワークの確認
Multus がクラスターで機能しているかどうかを判別するには、Multus ネットワークを確認します。
手順
ネットワーク設定の選択に応じて、OpenShift Data Foundation Operator は以下の 1 つを行います。
-
単一の NetworkAttachmentDefinition (例:
ocs-public-cluster
) のみが Public Network Interface に対して選択される場合、アプリケーション Pod と OpenShift Data Foundation クラスター間のトラフィックはこのネットワークで生じます。さらに、クラスターは、このネットワークを OSD 間のレプリケーションに使用し、OSD 間のトラフィックを再リバランスするように自己設定します。 -
NetworkAttachmentDefinitions (例:
ocs-public
およびocs-cluster
) が Public Network Interface にそれぞれ選択されており、Storage Cluster のインストール時に Cluster Network Interface にそれぞれ選択される場合、クライアントストレージトラフィックは OSD 間でのレプリケーションおよびクラスターネットワークについてパブリックネットワークおよびクラスターネットワークに置かれます。
ネットワーク設定が正しいことを確認するには、以下の手順を実施します。
OpenShift コンソールで、Installed Operators → OpenShift Data Foundation → Storage System → ocs-storagecluster-storagesystem → Resources → ocs-storagecluster の順に移動します。
YAML タブで、spec
セクションで network
を検索し、設定がネットワークインターフェイスの選択に適したことを確認します。この例では、クライアントストレージトラフィックをストレージレプリケーショントラフィックから分離するためのものです。
出力サンプル
[..] spec: [..] network: ipFamily: IPv4 provider: multus selectors: cluster: openshift-storage/ocs-cluster public: openshift-storage/ocs-public [..]
コマンドラインインターフェイスを使用してネットワーク設定が正しいことを確認するには、以下のコマンドを実行します。
$ oc get storagecluster ocs-storagecluster \ -n openshift-storage \ -o=jsonpath='{.spec.network}{"\n"}'
出力サンプル
{"ipFamily":"IPv4","provider":"multus","selectors":{"cluster":"openshift-storage/ocs-cluster","public":"openshift-storage/ocs-public"}}
OSD Pod が正しいネットワークを使用していることの確認
openshift-storage
namespace は OSD Pod の 1 つを使用して、Pod が正しいネットワークに接続されていることを確認します。この例では、クライアントストレージトラフィックをストレージレプリケーショントラフィックから分離するためのものです。
両方が作成されると、OSD Pod のみが Multus パブリックおよびクラスターネットワークの両方に接続します。他のすべての OCS Pod は Multus パブリックネットワークに接続されます。
$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}'
出力サンプル
[{ "name": "openshift-sdn", "interface": "eth0", "ips": [ "10.129.2.30" ], "default": true, "dns": {} },{ "name": "openshift-storage/ocs-cluster", "interface": "net1", "ips": [ "192.168.2.1" ], "mac": "e2:04:c6:81:52:f1", "dns": {} },{ "name": "openshift-storage/ocs-public", "interface": "net2", "ips": [ "192.168.1.1" ], "mac": "ee:a0:b6:a4:07:94", "dns": {} }]
コマンドラインインターフェイスを使用して OSD Pod が正しいネットワークを使用していることを確認するには、以下のコマンドを実行します (jq ユーティリティーが必要です)。
$ oc get -n openshift-storage $(oc get pods -n openshift-storage -o name -l app=rook-ceph-osd | grep 'osd-0') -o=jsonpath='{.metadata.annotations.k8s\.v1\.cni\.cncf\.io/network-status}{"\n"}' | jq -r '.[].name'
出力サンプル
openshift-sdn openshift-storage/ocs-cluster openshift-storage/ocs-public
第5章 スタンドアロンの Multicloud Object Gateway のデプロイ
OpenShift Data Foundation で Multicloud Object Gateway コンポーネントのみをデプロイすると、デプロイメントで柔軟性が高まり、リソース消費を減らすことができます。Multicloud Object Gateway コンポーネントは、動的ストレージデバイスを使用するか、ローカルストレージデバイスを使用してデプロイできます。
5.1. 動的ストレージデバイスを使用したスタンドアロン Multicloud Object Gateway のデプロイ
このセクションでは、以下のステップで、スタンドアロンの Multicloud Object Gateway コンポーネントのみをデプロイします。
- Red Hat OpenShift Data Foundation Operator のインストール
- スタンドアロンの Multicloud Object Gateway の作成
5.1.1. Red Hat OpenShift Data Foundation Operator のインストール
Red Hat OpenShift Data Foundation Operator は、Red Hat OpenShift Container Platform Operator Hub を使用してインストールできます。
前提条件
-
cluster-admin
および Operator インストールのパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 - Red Hat OpenShift Container Platform クラスターにワーカーノードが少なくとも 3 つある。
- その他のリソース要件は、デプロイメントのプランニング ガイドを参照してください。
OpenShift Data Foundation のクラスター全体でのデフォルトノードセレクターを上書きする必要がある場合は、コマンドラインインターフェイスで以下のコマンドを使用し、
openshift-storage
namespace の空のノードセレクターを指定できます (この場合、openshift-storage namespace を作成します)。$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
ノードに Red Hat OpenShift Data Foundation リソースのみがスケジュールされるように
infra
のテイントを設定します。これにより、サブスクリプションコストを節約できます。詳細は、ストレージリソースの管理および割り当てガイドのHow to use dedicated worker nodes for Red Hat OpenShift Data Foundationの章を参照してください。
手順
- OpenShift Web コンソールにログインします。
- Operators → OperatorHub をクリックします。
-
スクロールするか、
OpenShift Data Foundation
を Filter by keyword ボックスに入力し、OpenShift Data Foundation Operator を検索します。 - Install をクリックします。
Install Operator ページで、以下のオプションを設定します。
- Channel を stable-4.10 として更新します。
- Installation Mode オプションに A specific namespace on the cluster を選択します。
-
Installed Namespace に Operator recommended namespace openshift-storage を選択します。namespace
openshift-storage
が存在しない場合、これは Operator のインストール時に作成されます。 承認ストラテジー を Automatic または Manual として選択します。
Automatic (自動) 更新を選択した場合、Operator Lifecycle Manager (OLM) は介入なしに、Operator の実行中のインスタンスを自動的にアップグレードします。
Manual 更新を選択した場合、OLM は更新要求を作成します。クラスター管理者は、Operator を新しいバージョンに更新できるように更新要求を手動で承認する必要があります。
- Console プラグイン に Enable オプションが選択されていることを確認します。
- Install をクリックします。
検証手順
- OpenShift Data Foundation Operator に、インストールが正常に実行されたことを示す緑色のチェックマークが表示されていることを確認します。
Operator が正常にインストールされると、
Web console update is available
メッセージを含むポップアップがユーザーインターフェイスに表示されます。このポップアップから Refresh web console をクリックして、反映するコンソールを変更します。- Web コンソールで、Operators に移動し、OpenShift Data Foundation が利用可能かどうかを確認します。
5.1.2. スタンドアロンの Multicloud Object Gateway の作成
OpenShift Data Foundation のデプロイ中には、スタンドアロンの Multicloud Object Gateway コンポーネントのみを作成できます。
前提条件
- OpenShift Data Foundation Operator がインストールされている。
手順
OpenShift Web コンソールで、Operators → Installed Operators をクリックし、インストールされた Operator を表示します。
選択された Project が
openshift-storage
であることを確認します。- OpenShift Data Foundation Operator をクリックした後、Create StorageSystem をクリックします。
Backing storage ページで、以下を選択します。
- Deployment type の Multicloud Object Gateway を選択します。
- Use an existing StorageClass オプションを選択します。
- Next をクリックします。
オプション:Security ページで、Connect to an external key management service を選択します。
-
Key Management Service Provider はデフォルトで
Vault
に設定されます。 - Vault Service Name、Vault サーバーのホスト Address('https://<hostname or ip>')、Port number および Token を入力します。
Advanced Settings をデプロイメントして、
Vault
設定に基づいて追加の設定および証明書の詳細を入力します。- OpenShift Data Foundation 専用で固有のキーバリューシークレットパスを Backend Path に入力します。
- オプション:TLS Server Name および Vault Enterprise Namespace を入力します。
- それぞれの PEM でエンコードされた証明書ファイルをアップロードし、CA 証明書、クライアント証明書、および クライアントの秘密鍵 を提供します。
- Save をクリックします。
- Next をクリックします。
-
Key Management Service Provider はデフォルトで
Review and create ページで、設定の詳細を確認します。
設定を変更するには、Back をクリックします。
- Create StorageSystem をクリックします。
検証手順
- OpenShift Data Foundation クラスターが正常であることの確認
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
- Object タブの Status card で、Object Service と Data Resiliency の両方に緑色のチェックマークが表示されていることを確認します。
- Details カードで、MCG 情報が表示されることを確認します。
- Pod の状態の確認
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択し、以下の Pod がRunning
状態にあることを確認します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
コンポーネント 対応する Pod OpenShift Data Foundation Operator
-
ocs-operator-*
(任意のワーカーノードに 1 Pod) -
ocs-metrics-exporter-*
(任意のワーカーノードに 1 Pod) -
odf-operator-controller-manager-*
(任意のワーカーノードに 1 Pod) -
odf-console-*
(任意のワーカーノードに 1 Pod) -
csi-addons-controller-manager- *
(任意のワーカーノードに 1 つの Pod)
Rook-ceph Operator
rook-ceph-operator-*
(任意のワーカーノードに 1 Pod)
Multicloud Object Gateway
-
noobaa-operator-*
(任意のワーカーノードに 1 Pod) -
noobaa-core-*
(任意のワーカーノードに 1 Pod) -
noobaa-db-pg-*
(任意のワーカーノードに 1 Pod) -
noobaa-endpoint-*
(任意のワーカーノードに 1 Pod)
-
5.2. ローカルストレージデバイスを使用したスタンドアロン Multicloud Object Gateway のデプロイ
このセクションでは、以下のステップで、スタンドアロンの Multicloud Object Gateway コンポーネントのみをデプロイします。
- ローカルストレージ Operator のインストール
- Red Hat OpenShift Data Foundation Operator のインストール
- スタンドアロンの Multicloud Object Gateway の作成
5.2.1. ローカルストレージ Operator のインストール
ローカルストレージデバイスに Red Hat OpenShift Data Foundation クラスターを作成する前に、Operator Hub からローカルストレージ Operator をインストールします。
手順
- OpenShift Web コンソールにログインします。
- Operators → OperatorHub をクリックします。
-
Filter by keywordに
local storage
と入力します。 Operator の一覧から Local Storage Operator を見つけ、これをクリックします。 Install Operator ページで、以下のオプションを設定します。
-
チャンネルを
4.10
またはstable
のいずれかにして更新します。 - インストールモードに A specific namespace on the cluster を選択します。
- Installed Namespace に Operator recommended namespace openshift-local-storage を選択します。
- 承認を Automatic として更新します。
-
チャンネルを
- Install をクリックします。
検証手順
- Local Storage Operator に、インストールが正常に実行されたことを示す緑色のチェックマークが表示されていることを確認します。
5.2.2. Red Hat OpenShift Data Foundation Operator のインストール
Red Hat OpenShift Data Foundation Operator は、Red Hat OpenShift Container Platform Operator Hub を使用してインストールできます。
前提条件
-
cluster-admin
および Operator インストールのパーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。 - Red Hat OpenShift Container Platform クラスターにワーカーノードが少なくとも 3 つある。
- その他のリソース要件は、デプロイメントのプランニング ガイドを参照してください。
OpenShift Data Foundation のクラスター全体でのデフォルトノードセレクターを上書きする必要がある場合は、コマンドラインインターフェイスで以下のコマンドを使用し、
openshift-storage
namespace の空のノードセレクターを指定できます (この場合、openshift-storage namespace を作成します)。$ oc annotate namespace openshift-storage openshift.io/node-selector=
-
ノードに Red Hat OpenShift Data Foundation リソースのみがスケジュールされるように
infra
のテイントを設定します。これにより、サブスクリプションコストを節約できます。詳細は、ストレージリソースの管理および割り当てガイドのHow to use dedicated worker nodes for Red Hat OpenShift Data Foundationの章を参照してください。
手順
- OpenShift Web コンソールにログインします。
- Operators → OperatorHub をクリックします。
-
スクロールするか、
OpenShift Data Foundation
を Filter by keyword ボックスに入力し、OpenShift Data Foundation Operator を検索します。 - Install をクリックします。
Install Operator ページで、以下のオプションを設定します。
- Channel を stable-4.10 として更新します。
- Installation Mode オプションに A specific namespace on the cluster を選択します。
-
Installed Namespace に Operator recommended namespace openshift-storage を選択します。namespace
openshift-storage
が存在しない場合、これは Operator のインストール時に作成されます。 承認ストラテジー を Automatic または Manual として選択します。
Automatic (自動) 更新を選択した場合、Operator Lifecycle Manager (OLM) は介入なしに、Operator の実行中のインスタンスを自動的にアップグレードします。
Manual 更新を選択した場合、OLM は更新要求を作成します。クラスター管理者は、Operator を新しいバージョンに更新できるように更新要求を手動で承認する必要があります。
- Console プラグイン に Enable オプションが選択されていることを確認します。
- Install をクリックします。
検証手順
- OpenShift Data Foundation Operator に、インストールが正常に実行されたことを示す緑色のチェックマークが表示されていることを確認します。
Operator が正常にインストールされると、
Web console update is available
メッセージを含むポップアップがユーザーインターフェイスに表示されます。このポップアップから Refresh web console をクリックして、反映するコンソールを変更します。- Web コンソールで、Operators に移動し、OpenShift Data Foundation が利用可能かどうかを確認します。
5.2.3. スタンドアロンの Multicloud Object Gateway の作成
OpenShift Data Foundation のデプロイ中には、スタンドアロンの Multicloud Object Gateway コンポーネントのみを作成できます。
前提条件
- OpenShift Data Foundation Operator がインストールされている。
手順
OpenShift Web コンソールで、Operators → Installed Operators をクリックし、インストールされた Operator を表示します。
選択された Project が
openshift-storage
であることを確認します。- OpenShift Data Foundation Operator をクリックした後、Create StorageSystem をクリックします。
Backing storage ページで、以下を選択します。
- Deployment type の Multicloud Object Gateway を選択します。
- Create a new StorageClass using the local storage devices オプションを選択します。
Next をクリックします。
注記Local Storage Operator がまだインストールされていない場合は、インストールするように求められます。Install をクリックし、ローカルストレージ Operator のインストール で説明されている手順に従います。
Create local volume set ページで、以下の情報を提供します。
LocalVolumeSet および StorageClass の名前を入力します。
デフォルトで、ローカルボリュームセット名がストレージクラス名について表示されます。名前を変更できます。
以下のいずれかを選択します。
Disks on all nodes
すべてのノードにある選択したフィルターに一致する利用可能なディスクを使用します。
Disks on selected nodes
選択したノードにある選択したフィルターにのみ一致する利用可能なディスクを使用します。
-
Disk Type の利用可能なリストから、
SSD/NVMe
を選択します。 Advanced セクションを拡張し、以下のオプションを設定します。
ボリュームモード
デフォルトではファイルシステムが選択されています。Volume Mode でファイルシステムが選択されていることを常に確認してください。
デバイスタイプ
ドロップダウンリストから 1 つ以上のデバイスタイプを選択します。
ディスクサイズ
デバイスの最小サイズ 100GB と、含める必要のあるデバイスの最大サイズを設定します。
ディスクの最大数の制限
これは、ノードで作成できる PV の最大数を示します。このフィールドが空のままの場合、PV は一致するノードで利用可能なすべてのディスクに作成されます。
Next をクリックします。
LocalVolumeSet の作成を確認するポップアップが表示されます。
- Yes をクリックして続行します。
Capacity and nodes ページで、以下を設定します。
- Available raw capacity には、ストレージクラスに関連付けられた割り当てられたすべてのディスクに基づいて容量の値が設定されます。これには少し時間がかかります。Selected nodes リストには、ストレージクラスに基づくノードが表示されます。
- Next をクリックします。
オプション:Security ページで、Connect to an external key management service を選択します。
-
Key Management Service Provider はデフォルトで
Vault
に設定されます。 - Vault Service Name、Vault サーバーのホスト Address('https://<hostname or ip>')、Port number および Token を入力します。
Advanced Settings をデプロイメントして、
Vault
設定に基づいて追加の設定および証明書の詳細を入力します。- OpenShift Data Foundation 専用で固有のキーバリューシークレットパスを Backend Path に入力します。
- オプション:TLS Server Name および Vault Enterprise Namespace を入力します。
- それぞれの PEM でエンコードされた証明書ファイルをアップロードし、CA 証明書、クライアント証明書、および クライアントの秘密鍵 を提供します。
- Save をクリックします。
- Next をクリックします。
-
Key Management Service Provider はデフォルトで
Review and create ページで、設定の詳細を確認します。
設定を変更するには、Back をクリックします。
- Create StorageSystem をクリックします。
検証手順
- OpenShift Data Foundation クラスターが正常であることの確認
- OpenShift Web コンソールで、Storage → Data Foundation をクリックします。
Overview タブの Status カードで Storage System をクリックし、表示されたポップアップからストレージシステムリンクをクリックします。
- Object タブの Status card で、Object Service と Data Resiliency の両方に緑色のチェックマークが表示されていることを確認します。
- Details カードで、MCG 情報が表示されることを確認します。
- Pod の状態の確認
- OpenShift Web コンソールから Workloads → Pods をクリックします。
Project ドロップダウンリストから
openshift-storage
を選択し、以下の Pod がRunning
状態にあることを確認します。注記Show default projects オプションが無効になっている場合は、切り替えボタンを使用して、すべてのデフォルトプロジェクトをリスト表示します。
コンポーネント 対応する Pod OpenShift Data Foundation Operator
-
ocs-operator-*
(任意のワーカーノードに 1 Pod) -
ocs-metrics-exporter-*
(任意のワーカーノードに 1 Pod) -
odf-operator-controller-manager-*
(任意のワーカーノードに 1 Pod) -
odf-console-*
(任意のワーカーノードに 1 Pod) -
csi-addons-controller-manager- *
(任意のワーカーノードに 1 つの Pod)
Rook-ceph Operator
rook-ceph-operator-*
(任意のワーカーノードに 1 Pod)
Multicloud Object Gateway
-
noobaa-operator-*
(任意のワーカーノードに 1 Pod) -
noobaa-core-*
(任意のワーカーノードに 1 Pod) -
noobaa-db-pg-*
(任意のワーカーノードに 1 Pod) -
noobaa-endpoint-*
(任意のワーカーノードに 1 Pod)
-
第6章 OpenShift Data Foundation のアンインストール
6.1. 内部モードでの OpenShift Data Foundation のアンインストール
OpenShift Data Foundation を内部モードでアンインストールするには、Uninstalling OpenShift Data Foundation のナレッジベース記事を参照してください。