5.3. デプロイメント後の QuayRegistry CR の変更


Red Hat Quay Operator をインストールし、初期デプロイメントを作成した後、QuayRegistry カスタムリソース (CR) を変更して、Red Hat Quay 環境の側面をカスタマイズまたは再設定できます。

Red Hat Quay 管理者は、以下の理由で QuayRegistry CR を変更する場合があります。

  • コンポーネント管理を変更する場合: 独自のインフラストラクチャーを導入するために、コンポーネントを managed: true から managed: false に切り替えます。たとえば、Google Cloud Storage や Nutanix などの外部オブジェクトストレージプラットフォームを統合するには、kind: objectstorage を unmanaged に設定できます。
  • カスタム設定を適用する場合: configBundleSecret を更新または置き換えて、認証プロバイダー、外部 SSL/TLS 設定、機能フラグなどの新しい設定を適用します。
  • 機能を有効または無効にする場合: spec.components リストを変更して、リポジトリーミラーリング、Clair のスキャン、水平 Pod の自動スケーリングなどの機能を切り替えます。
  • デプロイメントをスケーリングする場合: Quay アプリケーションの環境変数またはレプリカ数を調整します。
  • 外部サービスと統合する場合: 外部の PostgreSQL、Redis、または Clair データベースの設定を提供し、エンドポイントまたは認証情報を更新します。

5.3.1. OpenShift Container Platform Web コンソールを使用して QuayRegistry CR を変更する

QuayRegistry は、OpenShift Container Platform Web コンソールを使用して変更できます。これにより、管理対象コンポーネントを管理対象外 (managed: false) に設定し、独自のインフラストラクチャーを使用できるようになります。

前提条件

  • 管理者権限を持つユーザーとして OpenShift Container Platform にログインしている。
  • Red Hat Quay Operator をインストールしている。

手順

  1. OpenShift Container Platform Web コンソールで、Operators Installed Operators をクリックします。
  2. Red Hat Quay をクリックします。
  3. Quay Registry をクリックします。
  4. Red Hat Quay レジストリーの名前 (例: example-registry) をクリックします。
  5. YAML をクリックします。
  6. 目的のコンポーネントの 管理 フィールドを True または False に調整します。
  7. Save をクリックします。

    注記

    コンポーネントを管理対象外 (managed: false) に設定すると、追加の設定が必要になる場合があります。QuayRegistry CR での管理されていないコンポーネントの設定の詳細は、依存関係に管理されていないコンポーネントを使用するを 参照してください。

5.3.2. CLI を使用して QuayRegistry CR を変更する

QuayRegistry CR は CLI を使用して変更できます。これにより、管理対象コンポーネントを管理対象外 (managed: false) に設定し、独自のインフラストラクチャーを使用できるようになります。

前提条件

  • 管理者権限を持つユーザーとして OpenShift Container Platform クラスターにログインしている。

手順

  1. 次のコマンドを入力して、QuayRegistry CR を編集します。

    $ oc edit quayregistry <registry_name> -n <namespace>
    Copy to Clipboard Toggle word wrap
  2. QuayRegistry CR に必要な変更を加えます。

    注記

    コンポーネントを管理対象外 (managed: false) に設定すると、追加の設定が必要になる場合があります。QuayRegistry CR での管理されていないコンポーネントの設定の詳細は、依存関係に管理されていないコンポーネントを使用するを 参照してください。

  3. 変更を保存します。

5.3.3. configBundleSecret について

spec.configBundleSecret フィールドは、QuayRegistry リソースと同じ namespace 内の Secret の名前へのオプションの参照です。この Secret には、config.yaml キー/値のペアが含まれている必要があります。値は Red Hat Quay 設定ファイルです。

configBundleSecret には config.yaml ファイルが保存されます。Red Hat Quay 管理者は、config.yaml ファイルを通じて次の設定を定義できます。

  • 認証バックエンド (OIDC、LDAP など)
  • 外部 TLS Termination 設定
  • リポジトリー作成ポリシー
  • 機能フラグ
  • 通知設定

Red Hat Quay は、以下の理由でこのシークレットを更新する可能性があります。

  • 新しい認証方法の有効化
  • カスタム SSL/TLS 証明書の追加
  • 機能の有効化
  • セキュリティースキャン設定の変更

このフィールドを省略すると、Red Hat Quay Operator はデフォルト値と管理対象コンポーネントの設定に基づいて、設定シークレットを自動的に生成します。フィールドが指定されている場合、config.yaml の内容が基本設定として使用され、管理対象コンポーネントの値とマージされて最終的な設定が形成され、それが quay アプリケーション Pod にマウントされます。

QuayRegistry CR の設定方法によって、Red Hat Quay on OpenShift Container Platform の configBundleSecret’s `config.yaml ファイルに含める必要があるフィールドが決まります。次の例は、すべてのコンポーネントが Operator によって管理される場合のデフォルトの config.yaml ファイルを示しています。この例は、コンポーネントが管理対象であるか管理対象外であるか (managed: false) によって異なることに注意してください。

Operator によって管理されるすべてのコンポーネントを含む YAML サンプル

ALLOW_PULLS_WITHOUT_STRICT_LOGGING: false
AUTHENTICATION_TYPE: Database
DEFAULT_TAG_EXPIRATION: 2w
ENTERPRISE_LOGO_URL: /static/img/RH_Logo_Quay_Black_UX-horizontal.svg
FEATURE_BUILD_SUPPORT: false
FEATURE_DIRECT_LOGIN: true
FEATURE_MAILING: false
REGISTRY_TITLE: Red Hat Quay
REGISTRY_TITLE_SHORT: Red Hat Quay
SETUP_COMPLETE: true
TAG_EXPIRATION_OPTIONS:
- 2w
TEAM_RESYNC_STALE_TIME: 60m
TESTING: false
Copy to Clipboard Toggle word wrap

場合によっては、オブジェクトストレージなど、特定のコンポーネントを自身で管理することを選択できます。このシナリオでは、QuayRegistry CR を次のように変更します。

管理対象外 objectstorage コンポーネント

# ...
    - kind: objectstorage
      managed: false
# ...
Copy to Clipboard Toggle word wrap

独自のコンポーネントを管理している場合は、そのコンポーネントに必要な情報またはリソースが含まれるようにデプロイメントを設定する必要があります。たとえば、objectstorage コンポーネントが managed: false に設定されている場合、config.yaml ファイル内に、ストレージプロバイダーに応じた関連情報を含めます。次の例は、Google Cloud Storage を使用した分散ストレージ設定を示しています。

objectstorage が管理対象外の場合に必要な情報

# ...
DISTRIBUTED_STORAGE_CONFIG:
    default:
        - GoogleCloudStorage
        - access_key: <access_key>
          bucket_name: <bucket_name>
          secret_key: <secret_key>
          storage_path: /datastorage/registry
# ...
Copy to Clipboard Toggle word wrap

同様に、horizontalpodautoscaler コンポーネントを管理している場合は、付随する HorizontalPodAutoscaler カスタムリソース を作成する必要があります。

5.3.3.1. OpenShift Container Platform Web コンソールを使用して設定ファイルを変更する

OpenShift Container Platform Web コンソールを使用して、configBundleSecret によって保存される config.yaml ファイルを変更するには、次の手順に従います。

前提条件

  • 管理者権限を持つユーザーとして OpenShift Container Platform クラスターにログインしている。

手順

  1. OpenShift Container Platform Web コンソールで、Operators Installed Operators Red Hat Quay をクリックします。
  2. Quay Registry をクリックします。
  3. Red Hat Quay レジストリーの名前 (例: example-registry) をクリックします。
  4. QuayRegistry details ページで、Config Bundle Secret の名前 (例: example-registry-config-bundle) をクリックします。
  5. Actions Edit Secret をクリックします。
  6. Value ボックスに、必要なキーと値のペアを追加します。たとえば、Red Hat Quay on OpenShift Container Platform デプロイメントにスーパーユーザーを追加するには、次の参照を追加します。

    SUPER_USERS:
    - quayadmin
    Copy to Clipboard Toggle word wrap
  7. Save をクリックします。

検証

  1. 変更が承認されたことを確認します。

    1. OpenShift Container Platform Web コンソールで、Operators Installed Operators Red Hat Quay をクリックします。
    2. Quay Registry をクリックします。
    3. Red Hat Quay レジストリーの名前 (例: example-registry) をクリックします。
    4. Events をクリックします。成功すると、次のメッセージが表示されます。

      All objects created/updated successfully
      Copy to Clipboard Toggle word wrap
注記

更新された config.yaml を Secret に配置する前に、base64 でエンコードする必要があります。Secret 名が spec.configBundleSecret で指定された値と一致していることを確認します。Secret が更新されると、Operator は変更を検出し、Red Hat Quay Pod に更新を自動的にロールアウトします。

詳細な手順については、「Red Hat Quay UI を使用した設定シークレットの更新」を参照してください。

5.3.3.2. CLI を使用して設定ファイルを変更する

CLI を使用して既存の設定をダウンロードすることにより、configBundleSecret によって保存されている config.yaml ファイルを変更できます。変更を加えた後、configBundleSecret リソースを再度アップロードして、Red Hat Quay レジストリーに変更を加えることができます。

注記

configBundleSecret リソースによって保存される config.yaml ファイルを変更するには、既存の設定ファイルを base64 でデコードした後に変更をアップロードするという、複数のステップからなる手順が必要です。ほとんどの場合、OpenShift Container Platform Web コンソールを使用して config.yaml ファイルに変更を加える方が簡単です。

前提条件

  • 管理者権限を持つユーザーとして OpenShift Container Platform クラスターにログインしている。

手順

  1. 次のコマンドを入力して、QuayRegistry リソースを記述します。

    $ oc describe quayregistry -n <quay_namespace>
    Copy to Clipboard Toggle word wrap
    # ...
      Config Bundle Secret:  example-registry-config-bundle-v123x
    # ...
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを入力してシークレットデータを取得します。

    $ oc get secret -n <quay_namespace> <example-registry-config-bundle-v123x> -o jsonpath='{.data}'
    Copy to Clipboard Toggle word wrap

    出力例

    {
        "config.yaml": "RkVBVFVSRV9VU0 ... MDAwMAo="
    }
    Copy to Clipboard Toggle word wrap

  3. >> config.yaml フラグを渡して、データをカレントディレクトリーの YAML ファイルにデコードします。以下に例を示します。

    $ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yaml
    Copy to Clipboard Toggle word wrap
  4. config.yaml ファイルに必要な変更を加え、ファイルを config.yaml として保存します。
  5. 次のコマンドを入力して、新しい configBundleSecret YAML を作成します。

    $ touch <new_configBundleSecret_name>.yaml
    Copy to Clipboard Toggle word wrap
  6. 次のコマンドを入力し、config.yaml ファイルを渡して新しい configBundleSecret リソースを作成します。

    $ oc -n <namespace> create secret generic <secret_name> \
      --from-file=config.yaml=</path/to/config.yaml> \ 
    1
    
      --dry-run=client -o yaml > <new_configBundleSecret_name>.yaml
    Copy to Clipboard Toggle word wrap
    1
    <config.yaml>base64 でデコード された config.yaml ファイルです。
  7. 次のコマンドを入力して、configBundleSecret リソースを作成します。

    $ oc create -n <namespace> -f <new_configBundleSecret_name>.yaml
    Copy to Clipboard Toggle word wrap

    出力例

    secret/config-bundle created
    Copy to Clipboard Toggle word wrap

  8. 次のコマンドを入力して、新しい configBundleSecret オブジェクトを参照するように QuayRegistry YAML ファイルを更新します。

    $ oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"<new_configBundleSecret_name>"}}'
    Copy to Clipboard Toggle word wrap

    出力例

    quayregistry.quay.redhat.com/example-registry patched
    Copy to Clipboard Toggle word wrap

検証

  1. QuayRegistry CR が新しい configBundleSecret で更新されていることを確認します。

    $ oc describe quayregistry -n <quay_namespace>
    Copy to Clipboard Toggle word wrap

    出力例

    # ...
      Config Bundle Secret: <new_configBundleSecret_name>
    # ...
    Copy to Clipboard Toggle word wrap

    レジストリーにパッチを適用すると、Red Hat Quay Operator が自動的に変更を調整します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat