3.2. GCP の user-provisioned infrastructure のレジストリーの設定

3.2.1. イメージレジストリー Operator のシークレットの設定

configs.imageregistry.operator.openshift.io および ConfigMap リソースのほかにも、openshift-image-registry namespace 内の別のシークレットリソースによって設定が Operator に提供されます。

image-registry-private-configuration-user シークレットは、ストレージのアクセスおよび管理に必要な認証情報を提供します。これは、デフォルト認証情報が見つからない場合に Operator によって使用されるデフォルト認証情報を上書きします。

GCP ストレージ上の GCS の場合、シークレットには、GCP が提供する認証情報ファイルの内容に相当するキーが含まれることが予想されます。

  • REGISTRY_STORAGE_GCS_KEYFILE

手順

  • 必要なキーが含まれる OpenShift Container Platform シークレットを作成します。

    $ oc create secret generic image-registry-private-configuration-user --from-file=REGISTRY_STORAGE_GCS_KEYFILE=<path_to_keyfile> --namespace openshift-image-registry

3.2.2. user-provisioned infrastructure を使用して GCP のレジストリーストレージを設定する

Registry Operator が Google Cloud Platform (GCP) バケットを作成できない場合は、ストレージメディアを手動でセットアップし、レジストリーのカスタムリソース (CR) で設定を行う必要があります。

前提条件

  • user-provisioned infrastructure を持つ GCP 上のクラスター。
  • GCP のレジストリーストレージを設定するには、レジストリー Operator クラウド認証情報を指定する必要があります。
  • GCP ストレージ上の GCS の場合、シークレットには、GCP が提供する認証情報ファイルの内容に相当するキーが含まれることが予想されます。

    • REGISTRY_STORAGE_GCS_KEYFILE

手順

  1. 経過した未完了のマルチパートアップロードを中止するための Object Lifecycle Management ポリシー を設定します。
  2. configs.imageregistry.operator.openshift.io/cluster にストレージ設定を入力します。

    $ oc edit configs.imageregistry.operator.openshift.io/cluster

    設定例

    # ...
    storage:
      gcs:
        bucket: <bucket-name>
        projectID: <project-id>
        region: <region-name>
    # ...

警告

public access prevention を設定することにより、Google Cloud Storage バケットを使用するレジストリーイメージを保護できます。

3.2.3. GCP GCS のイメージレジストリー Operator 設定パラメーター。

以下の設定パラメーターは、GCP GCS レジストリーストレージに利用できます。

パラメーター説明

bucket

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

region

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

projectID

ProjectID は、このバケットが関連付けられる必要がある GCP プロジェクトのプロジェクト ID です。これはオプションです。

keyID

KeyID は、暗号化に使用する KMS キー ID です。バケットは GCP でデフォルトで暗号化されているため、これはオプションになります。これにより、カスタム暗号化キーを使用できます。