第3章 レジストリーのセットアップおよび設定

3.1. AWS の user-provisioned infrastructure のレジストリーの設定

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. 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. バケットライフサイクルポリシー を設定し、1 日以上経過している未完了のマルチパートアップロードを中止します。
  2. 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 レジストリーストレージで利用できます。

イメージレジストリーの spec.storage.s3 設定パラメーターには、バックエンドストレージに AWS S3 サービスを使用するようにレジストリーを設定するための情報が保持されます。詳細は、S3 ストレージドライバーのドキュメント を参照してください。

パラメーター説明

bucket

バケットは、レジストリーのデータを保存するバケット名です。これはオプションであり、指定されていない場合は生成されます。

region

リージョンはバケットが存在する AWS リージョンです。これはオプションであり、インストール済みの AWS リージョンに基づいて設定されます。

regionEndpoint

RegionEndpoint は、S3 互換のストレージサービスのエンドポイントです。これは、指定されるリージョンに応じてオプションおよびデフォルトになります。

virtualHostedStyle

VirtualHosted は、カスタム RegionEndpoint で S3 仮想ホストスタイルのバケットパスの使用を有効にします。これはオプションであり、デフォルトは false です。

このパラメーターを設定して、OpenShift Container Platform を非表示のリージョンにデプロイします。

encrypt

encrypt は、イメージが暗号化された形式で保存されるかどうかを指定します。これはオプションであり、デフォルトは false です。

keyID

KeyID は、暗号化に使用する KMS キー ID です。これはオプションです。encrypt は true である必要があります。そうでない場合、このパラメーターは無視されます。

cloudFront

CloudFront は Amazon Cloudfront をレジストリーでストレージミドルウェアとして設定します。これはオプションです。

trustedCA

trustedCA によって参照される設定マップの namespace は openshift-config です。config map 内のバンドルのキーは ca-bundle.crt です。これはオプションです。

注記

regionEndpoint パラメーターの値を Rados Gateway の URL に設定する場合、明示的なポートを指定してはなりません。以下に例を示します。

regionEndpoint: http://rook-ceph-rgw-ocs-storagecluster-cephobjectstore.openshift-storage.svc.cluster.local