3.8. Red Hat OpenShift Data Foundation のレジストリーの設定
Red Hat OpenShift Data Foundation ストレージを使用するようにベアメタルおよび vSphere に OpenShift イメージレジストリーを設定するには、OpenShift Data Foundation をインストールし、Ceph または Noobaa を使用してイメージレジストリーを設定する必要があります。
3.8.1. Red Hat OpenShift Data Foundation で Ceph RGW ストレージを使用するための Image Registry Operator の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Data Foundation は、OpenShift イメージレジストリーで使用できる複数のストレージタイプを統合します。
- Ceph、共有および分散ファイルシステムとオンプレミスオブジェクトストレージ
- NooBaa。Multicloud Object Gateway を提供します。
このドキュメントでは、Ceph RGW ストレージを使用するようにイメージレジストリーを設定する手順の概要を説明します。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - OpenShift Container Platform Web コンソールにアクセスできる。
-
oc
CLI がインストールされている。 - オブジェクトストレージおよび Ceph RGW オブジェクトストレージを提供するために OpenShift Data Foundation Operator をインストールした。
手順
ocs-storagecluster-ceph-rgw
ストレージクラスを使用してオブジェクトバケットクレームを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- あるいは、
openshift-image-registry
namespace を使用することもできます。
次のコマンドを入力して、バケット名を取得します。
bucket_name=$(oc get obc -n openshift-storage rgwbucket -o jsonpath='{.spec.bucketName}')
$ bucket_name=$(oc get obc -n openshift-storage rgwbucket -o jsonpath='{.spec.bucketName}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、AWS 認証情報を取得します。
AWS_ACCESS_KEY_ID=$(oc get secret -n openshift-storage rgwbucket -o jsonpath='{.data.AWS_ACCESS_KEY_ID}' | base64 --decode)
$ AWS_ACCESS_KEY_ID=$(oc get secret -n openshift-storage rgwbucket -o jsonpath='{.data.AWS_ACCESS_KEY_ID}' | base64 --decode)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS_SECRET_ACCESS_KEY=$(oc get secret -n openshift-storage rgwbucket -o jsonpath='{.data.AWS_SECRET_ACCESS_KEY}' | base64 --decode)
$ AWS_SECRET_ACCESS_KEY=$(oc get secret -n openshift-storage rgwbucket -o jsonpath='{.data.AWS_SECRET_ACCESS_KEY}' | base64 --decode)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
openshift-image-registry プロジェクト
の下にある新しいバケットの AWS 認証情報を使用して、秘密のimage-registry-private-configuration-user
を作成します。oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=${AWS_ACCESS_KEY_ID} --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=${AWS_SECRET_ACCESS_KEY} --namespace openshift-image-registry
$ oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=${AWS_ACCESS_KEY_ID} --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=${AWS_SECRET_ACCESS_KEY} --namespace openshift-image-registry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
route
ホストを取得します。route_host=$(oc get route ocs-storagecluster-cephobjectstore -n openshift-storage --template='{{ .spec.host }}')
$ route_host=$(oc get route ocs-storagecluster-cephobjectstore -n openshift-storage --template='{{ .spec.host }}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、入力証明書を使用する設定マップを作成します。
oc extract secret/$(oc get ingresscontroller -n openshift-ingress-operator default -o json | jq '.spec.defaultCertificate.name // "router-certs-default"' -r) -n openshift-ingress --confirm
$ oc extract secret/$(oc get ingresscontroller -n openshift-ingress-operator default -o json | jq '.spec.defaultCertificate.name // "router-certs-default"' -r) -n openshift-ingress --confirm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create configmap image-registry-s3-bundle --from-file=ca-bundle.crt=./tls.crt -n openshift-config
$ oc create configmap image-registry-s3-bundle --from-file=ca-bundle.crt=./tls.crt -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、Ceph RGW オブジェクトストレージを使用するようにイメージレジストリーを設定します。
oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","s3":{"bucket":'\"${bucket_name}\"',"region":"us-east-1","regionEndpoint":'\"https://${route_host}\"',"virtualHostedStyle":false,"encrypt":false,"trustedCA":{"name":"image-registry-s3-bundle"}}}}}' --type=merge
$ oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","s3":{"bucket":'\"${bucket_name}\"',"region":"us-east-1","regionEndpoint":'\"https://${route_host}\"',"virtualHostedStyle":false,"encrypt":false,"trustedCA":{"name":"image-registry-s3-bundle"}}}}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.8.2. Red Hat OpenShift Data Foundation で Noobaa ストレージを使用するための Image Registry Operator の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Data Foundation は、OpenShift イメージレジストリーで使用できる複数のストレージタイプを統合します。
- Ceph、共有および分散ファイルシステムとオンプレミスオブジェクトストレージ
- NooBaa。Multicloud Object Gateway を提供します。
このドキュメントでは、Noobaa ストレージを使用するようにイメージレジストリーを設定する手順の概要を説明します。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - OpenShift Container Platform Web コンソールにアクセスできる。
-
oc
CLI がインストールされている。 - OpenShift Data Foundation Operator をインストールして、オブジェクトストレージと Noobaa オブジェクトストレージを提供した。
手順
openshift-storage.noobaa.io
ストレージクラスを使用してオブジェクトバケットクレームを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- あるいは、
openshift-image-registry
namespace を使用することもできます。
次のコマンドを入力して、バケット名を取得します。
bucket_name=$(oc get obc -n openshift-storage noobaatest -o jsonpath='{.spec.bucketName}')
$ bucket_name=$(oc get obc -n openshift-storage noobaatest -o jsonpath='{.spec.bucketName}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、AWS 認証情報を取得します。
AWS_ACCESS_KEY_ID=$(oc get secret -n openshift-storage noobaatest -o yaml | grep -w "AWS_ACCESS_KEY_ID:" | head -n1 | awk '{print $2}' | base64 --decode)
$ AWS_ACCESS_KEY_ID=$(oc get secret -n openshift-storage noobaatest -o yaml | grep -w "AWS_ACCESS_KEY_ID:" | head -n1 | awk '{print $2}' | base64 --decode)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS_SECRET_ACCESS_KEY=$(oc get secret -n openshift-storage noobaatest -o yaml | grep -w "AWS_SECRET_ACCESS_KEY:" | head -n1 | awk '{print $2}' | base64 --decode)
$ AWS_SECRET_ACCESS_KEY=$(oc get secret -n openshift-storage noobaatest -o yaml | grep -w "AWS_SECRET_ACCESS_KEY:" | head -n1 | awk '{print $2}' | base64 --decode)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
openshift-image-registry プロジェクト
の下にある新しいバケットの AWS 認証情報を使用して、秘密のimage-registry-private-configuration-user
を作成します。oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=${AWS_ACCESS_KEY_ID} --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=${AWS_SECRET_ACCESS_KEY} --namespace openshift-image-registry
$ oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=${AWS_ACCESS_KEY_ID} --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=${AWS_SECRET_ACCESS_KEY} --namespace openshift-image-registry
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、ルートホストを取得します。
route_host=$(oc get route s3 -n openshift-storage -o=jsonpath='{.spec.host}')
$ route_host=$(oc get route s3 -n openshift-storage -o=jsonpath='{.spec.host}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、入力証明書を使用する設定マップを作成します。
oc extract secret/$(oc get ingresscontroller -n openshift-ingress-operator default -o json | jq '.spec.defaultCertificate.name // "router-certs-default"' -r) -n openshift-ingress --confirm
$ oc extract secret/$(oc get ingresscontroller -n openshift-ingress-operator default -o json | jq '.spec.defaultCertificate.name // "router-certs-default"' -r) -n openshift-ingress --confirm
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create configmap image-registry-s3-bundle --from-file=ca-bundle.crt=./tls.crt -n openshift-config
$ oc create configmap image-registry-s3-bundle --from-file=ca-bundle.crt=./tls.crt -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、Nooba オブジェクトストレージを使用するようにイメージレジストリーを設定します。
oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","s3":{"bucket":'\"${bucket_name}\"',"region":"us-east-1","regionEndpoint":'\"https://${route_host}\"',"virtualHostedStyle":false,"encrypt":false,"trustedCA":{"name":"image-registry-s3-bundle"}}}}}' --type=merge
$ oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","s3":{"bucket":'\"${bucket_name}\"',"region":"us-east-1","regionEndpoint":'\"https://${route_host}\"',"virtualHostedStyle":false,"encrypt":false,"trustedCA":{"name":"image-registry-s3-bundle"}}}}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.8.3. Red Hat OpenShift Data Foundation で CephFS ストレージを使用するための Image Registry Operator の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Data Foundation は、OpenShift イメージレジストリーで使用できる複数のストレージタイプを統合します。
- Ceph、共有および分散ファイルシステムとオンプレミスオブジェクトストレージ
- NooBaa。Multicloud Object Gateway を提供します。
このドキュメントでは、CephFS ストレージを使用するようにイメージレジストリーを設定する手順の概要を説明します。
CephFS は persistent volume claim (PVC) ストレージを使用します。Ceph RGW や Noobaa など、他のオプションが利用可能な場合は、イメージレジストリーストレージに PVC を使用することは推奨しません。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - OpenShift Container Platform Web コンソールにアクセスできる。
-
oc
CLI がインストールされている。 - オブジェクトストレージと CephFS ファイルストレージを提供するために、OpenShift Data Foundation Operator をインストールした。
手順
cephfs
ストレージクラスを使用する PVC を作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、CephFS ファイルシステムストレージを使用するようにイメージレジストリーを設定します。
oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","pvc":{"claim":"registry-storage-pvc"}}}}' --type=merge
$ oc patch config.image/cluster -p '{"spec":{"managementState":"Managed","replicas":2,"storage":{"managementState":"Unmanaged","pvc":{"claim":"registry-storage-pvc"}}}}' --type=merge
Copy to Clipboard Copied! Toggle word wrap Toggle overflow