2.14. レジストリーストレージの作成
クラスターのインストール後に、レジストリー Operator のストレージを作成する必要があります。
2.14.1. インストール時に削除されたイメージレジストリー
共有可能なオブジェクトストレージを提供しないプラットフォームでは、OpenShift Image Registry Operator 自体が Removed
としてブートストラップされます。これにより、openshift-installer
がそれらのプラットフォームタイプでのインストールを完了できます。
インストール後に、Image Registry Operator 設定を編集して managementState
を Removed
から Managed
に切り替える必要があります。これが完了したら、ストレージを設定する必要があります。
2.14.2. イメージレジストリーストレージの設定
Image Registry Operator は、デフォルトストレージを提供しないプラットフォームでは最初は利用できません。インストール後に、レジストリー Operator を使用できるようにレジストリーをストレージを使用するように設定する必要があります。
実稼働クラスターに必要な永続ボリュームの設定に関する手順が示されます。該当する場合、空のディレクトリーをストレージの場所として設定する方法が表示されます。これは、実稼働以外のクラスターでのみ利用できます。
アップグレード時に Recreate
ロールアウトストラテジーを使用して、イメージレジストリーがブロックストレージタイプを使用することを許可するための追加の手順が提供されます。
2.14.2.1. VMware vSphere のレジストリーストレージの設定
クラスター管理者は、インストール後にレジストリーをストレージを使用できるように設定する必要があります。
前提条件
- クラスター管理者のパーミッション。
- VMware vSphere 上のクラスター。
Red Hat OpenShift Data Foundation など、クラスターのプロビジョニングされた永続ストレージ。
重要OpenShift Container Platform は、1 つのレプリカのみが存在する場合にイメージレジストリーストレージの
ReadWriteOnce
アクセスをサポートします。ReadWriteOnce
アクセスでは、レジストリーがRecreate
ロールアウト戦略を使用する必要もあります。2 つ以上のレプリカで高可用性をサポートするイメージレジストリーをデプロイするには、ReadWriteMany
アクセスが必要です。- "100Gi" の容量が必要です。
テストにより、NFS サーバーを RHEL でコアサービスのストレージバックエンドとして使用することに関する問題が検出されています。これには、OpenShift Container レジストリーおよび Quay、メトリックストレージの Prometheus、およびロギングストレージの Elasticsearch が含まれます。そのため、コアサービスで使用される PV をサポートするために RHEL NFS を使用することは推奨されていません。
他の NFS の実装ではこれらの問題が検出されない可能性があります。OpenShift Container Platform コアコンポーネントに対して実施された可能性のあるテストに関する詳細情報は、個別の NFS 実装ベンダーにお問い合わせください。
手順
レジストリーをストレージを使用できるように設定するには、
configs.imageregistry/cluster
リソースのspec.storage.pvc
を変更します。注記共有ストレージを使用する場合は、外部からアクセスを防ぐためにセキュリティー設定を確認します。
レジストリー Pod がないことを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get pod -n openshift-image-registry -l docker-registry=default
$ oc get pod -n openshift-image-registry -l docker-registry=default
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow No resourses found in openshift-image-registry namespace
No resourses found in openshift-image-registry namespace
注記出力にレジストリー Pod がある場合は、この手順を続行する必要はありません。
レジストリー設定を確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit configs.imageregistry.operator.openshift.io
$ oc edit configs.imageregistry.operator.openshift.io
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow storage: pvc: claim:
storage: pvc: claim:
1 - 1
image-registry-storage
永続ボリューム要求 (PVC) の自動作成を許可するには、claim
フィールドを空白のままにします。PVC は、デフォルトのストレージクラスに基づいて生成されます。ただし、デフォルトのストレージクラスは、RADOS ブロックデバイス (RBD) などの ReadWriteOnce (RWO) ボリュームを提供する可能性があることに注意してください。これは、複数のレプリカに複製するときに問題を引き起こす可能性があります。
clusteroperator
ステータスを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get clusteroperator image-registry
$ oc get clusteroperator image-registry
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE image-registry 4.7 True False False 6h50m
NAME VERSION AVAILABLE PROGRESSING DEGRADED SINCE MESSAGE image-registry 4.7 True False False 6h50m
2.14.2.2. VMware vSphere のブロックレジストリーストレージの設定
イメージレジストリーがクラスター管理者によるアップグレード時に vSphere Virtual Machine Disk (VMDK) などのブロックストレージタイプを使用できるようにするには、Recreate
ロールアウトストラテジーを使用できます。
ブロックストレージボリュームはサポートされますが、実稼働クラスターでのイメージレジストリーと併用することは推奨されません。レジストリーに複数のレプリカを含めることができないため、ブロックストレージにレジストリーが設定されているインストールに高可用性はありません。
手順
次のコマンドを入力してイメージレジストリーストレージをブロックストレージタイプとして設定し、レジストリーにパッチを適用して
Recreate
ロールアウトストラテジーを使用し、1
つのレプリカのみで実行されるようにします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch config.imageregistry.operator.openshift.io/cluster --type=merge -p '{"spec":{"rolloutStrategy":"Recreate","replicas":1}}'
$ oc patch config.imageregistry.operator.openshift.io/cluster --type=merge -p '{"spec":{"rolloutStrategy":"Recreate","replicas":1}}'
ブロックストレージデバイスの PV をプロビジョニングし、そのボリュームの PVC を作成します。要求されたブロックボリュームは ReadWriteOnce (RWO) アクセスモードを使用します。
以下の内容で
pvc.yaml
ファイルを作成して VMware vSpherePersistentVolumeClaim
オブジェクトを定義します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow kind: PersistentVolumeClaim apiVersion: v1 metadata: name: image-registry-storage namespace: openshift-image-registry spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: image-registry-storage
1 namespace: openshift-image-registry
2 spec: accessModes: - ReadWriteOnce
3 resources: requests: storage: 100Gi
4 次のコマンドを入力して、ファイルから
PersistentVolumeClaim
オブジェクトを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f pvc.yaml -n openshift-image-registry
$ oc create -f pvc.yaml -n openshift-image-registry
次のコマンドを入力して、正しい PVC を参照するようにレジストリー設定を編集します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc edit config.imageregistry.operator.openshift.io -o yaml
$ oc edit config.imageregistry.operator.openshift.io -o yaml
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow storage: pvc: claim:
storage: pvc: claim:
1 - 1
- カスタム PVC を作成することにより、
image-registry-storage
PVC のデフォルトの自動作成のclaim
フィールドを空のままにできます。
正しい PVC を参照するようにレジストリーストレージを設定する手順は、vSphere のレジストリーの設定 を参照してください。