第3章 レジストリーのセットアップおよび設定
3.1. AWS の user-provisioned infrastructure のレジストリーの設定
3.1.1. Image Registry Operator のシークレットの設定
configs.imageregistry.operator.openshift.io
および ConfigMap リソースのほかにも、openshift-image-registry
namespace 内の別のシークレットリソースによって設定が Operator に提供されます。
image-registry-private-configuration-user
シークレットは、ストレージのアクセスおよび管理に必要な認証情報を提供します。これは、デフォルト認証情報が見つからない場合に Operator が使用するデフォルト認証情報をオーバーライドします。
AWS ストレージの S3 の場合、シークレットには以下のキーが含まれることが予想されます。
-
REGISTRY_STORAGE_S3_ACCESSKEY
-
REGISTRY_STORAGE_S3_SECRETKEY
手順
必要なキーが含まれる OpenShift Container Platform シークレットを作成します。
$ oc create secret generic image-registry-private-configuration-user --from-literal=REGISTRY_STORAGE_S3_ACCESSKEY=myaccesskey --from-literal=REGISTRY_STORAGE_S3_SECRETKEY=mysecretkey --namespace openshift-image-registry
3.1.2. user-provisioned infrastructure を使用した AWS のレジストリーストレージの設定
インストール時に、Amazon S3 バケットを作成するにはクラウド認証情報を使用でき、レジストリー Operator がストレージを自動的に設定します。
レジストリー Operator が S3 バケットを作成できず、ストレージを自動的に設定する場合、以下の手順により S3 バケットを作成し、ストレージを設定することができます。
前提条件
- user-provisioned infrastructure を使用した AWS 上にクラスターがある。
Amazon S3 ストレージの場合、シークレットには以下のキーが含まれることが予想されます。
-
REGISTRY_STORAGE_S3_ACCESSKEY
-
REGISTRY_STORAGE_S3_SECRETKEY
-
手順
レジストリー Operator が S3 バケットを作成できず、ストレージを自動的に設定する場合は、以下の手順を使用してください。
- バケットライフサイクルポリシー を設定し、1 日以上経過している未完了のマルチパートアップロードを中止します。
configs.imageregistry.operator.openshift.io/cluster
にストレージ設定を入力します。$ oc edit configs.imageregistry.operator.openshift.io/cluster
設定例
storage: s3: bucket: <bucket-name> region: <region-name>
AWS でレジストリーイメージのセキュリティーを保護するには、S3 バケットに対して パブリックアクセスのブロック を実行します。
3.1.3. AWS S3 の Image Registry Operator 設定パラメーター
以下の設定パラメーターは AWS S3 レジストリーストレージで利用できます。
イメージレジストリーの spec.storage.s3
設定パラメーターには、バックエンドストレージに AWS S3 サービスを使用するようにレジストリーを設定するための情報が保持されます。詳細は、S3 ストレージドライバーのドキュメント を参照してください。
パラメーター | 説明 |
---|---|
| バケットは、レジストリーのデータを保存するバケット名です。これはオプションであり、指定されていない場合は生成されます。 |
| リージョンはバケットが存在する AWS リージョンです。これはオプションであり、インストール済みの AWS リージョンに基づいて設定されます。 |
| RegionEndpoint は、S3 互換のストレージサービスのエンドポイントです。これは、指定されるリージョンに応じてオプションおよびデフォルトになります。 |
| VirtualHosted は、カスタム RegionEndpoint で S3 仮想ホストスタイルのバケットパスの使用を有効にします。これはオプションであり、デフォルトは false です。 このパラメーターを設定して、OpenShift Container Platform を非表示のリージョンにデプロイします。 |
| encrypt は、イメージが暗号化された形式で保存されるかどうかを指定します。これはオプションであり、デフォルトは false です。 |
| KeyID は、暗号化に使用する KMS キー ID です。これはオプションです。encrypt は true である必要があります。そうでない場合、このパラメーターは無視されます。 |
| CloudFront は Amazon Cloudfront をレジストリーでストレージミドルウェアとして設定します。これはオプションです。 |
|
|
regionEndpoint
パラメーターの値を Rados Gateway の URL に設定する場合、明示的なポートを指定してはなりません。以下に例を示します。
regionEndpoint: http://rook-ceph-rgw-ocs-storagecluster-cephobjectstore.openshift-storage.svc.cluster.local