第3章 レジストリーのセットアップおよび設定
3.1. AWS のユーザーによってプロビジョニングされるインフラストラクチャーのレジストリーの設定
3.1.1. イメージレジストリー 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. ユーザーによってプロビジョニングされるインフラストラクチャーで AWS のレジストリーストレージを設定する
インストール時に、S3 バケットを作成するにはクラウド認証情報を使用でき、レジストリー Operator がストレージを自動的に設定します。
レジストリー Operator が S3 バケットを作成できず、ストレージを自動的に設定する場合、以下の手順により S3 バケットを作成し、ストレージを設定することができます。
前提条件
- ユーザーによってプロビジョニングされるインフラストラクチャーでの AWS 上のクラスター
AWS ストレージの 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 のイメージレジストリー Operator 設定パラメーター
以下の設定パラメーターは AWS S3 レジストリーストレージで利用できます。
パラメーター | 説明 |
---|---|
| バケットは、レジストリーのデータを保存するバケット名です。これはオプションであり、指定されていない場合は生成されます。 |
| リージョンはバケットが存在する AWS リージョンです。これはオプションであり、インストール済みの AWS リージョンに基づいて設定されます。 |
| RegionEndpoint は、S3 互換のストレージサービスのエンドポイントです。これは、指定されるリージョンに応じてオプションおよびデフォルトになります。 |
| encrypt は、イメージが暗号化された形式で保存されるかどうかを指定します。これはオプションであり、デフォルトは false です。 |
| KeyID は、暗号化に使用する KMS キー ID です。これはオプションです。encrypt は true である必要があります。そうでない場合、このパラメーターは無視されます。 |
| CloudFront は Amazon Cloudfront をレジストリーでストレージミドルウェアとして設定します。これはオプションです。 |