第5章 コマンドラインおよび API を使用した OpenShift での Quay の設定

デプロイされたら、Quay 設定バンドルシークレット spec.configBundleSecret を編集して Quay アプリケーションを設定し、QuayRegistry リソースの spec.components オブジェクトのコンポーネントの管理ステータスを変更することもできます。

Operator は spec.configBundleSecret リソースの変更の有無を監視しないため、新しい Secret リソースに設定変更が行われ、spec.configBundleSecret フィールドが変更を反映するように更新することが推奨されます。新しい設定で問題が発生した場合は、spec.configBundleSecret の値を以前の Secret に戻すことが簡単にできます。

設定を変更する手順には、以下の操作が必要です。

  1. 現在のエンドポイントおよびシークレットの決定
  2. Red Hat Quay が OpenShift にすでにデプロイされている場合、既存の設定バンドルのダウンロード
  3. config.yaml 設定ファイルの作成または更新
  4. Quay に必要な SSL 証明書またはサービスに必要なカスタム SSL 証明書のアセンブル
  5. 設定ファイルおよび証明書を使用した新規設定バンドルシークレットの作成
  6. レジストリーの作成または更新、新規設定バンドルシークレットの参照、およびコンポーネント管理用の過程の指定
  7. デプロイメントを監視して正常に完了し、設定の変更が反映されていることを確認します。

または、設定エディター UI を使用して、セクション 6章設定ツールを使用した OpenShift における Quay の再設定 で説明されているように Quay アプリケーションを設定できます。

5.1. QuayRegistry エンドポイントおよびシークレットの決定

oc describe quayregistry または oc get quayregistry -o yaml を使用して QuayRegistry リソースを検査し、現在のエンドポイントおよびシークレットを判別します。

$ oc get quayregistry example-registry -n quay-enterprise -o yaml

apiVersion: quay.redhat.com/v1
kind: QuayRegistry
metadata:
  ...
  name: example-registry
  namespace: quay-enterprise
  ...
spec:
  components:
  ...
  configBundleSecret: example-registry-quay-config-bundle-fjpnm
status:
  configEditorCredentialsSecret: example-registry-quay-config-editor-credentials-kk55dc7299
  configEditorEndpoint: https://example-registry-quay-config-editor-quay-enterprise.apps.docs.quayteam.org
  currentVersion: 3.6.0
  lastUpdated: 2021-09-21 11:18:13.285192787 +0000 UTC
  registryEndpoint: https://example-registry-quay-quay-enterprise.apps.docs.quayteam.org
  unhealthyComponents: {}

関連するフィールドは以下のとおりです。

  • registryEndpoint: レジストリーの URL、レジストリー UI へのブラウザーアクセス、およびレジストリー API エンドポイント
  • configBundleSecret: config.yaml ファイルと SSL 証明書を含む設定バンドルシークレット
  • configEditorEndpoint: 設定エディターツールの URL、設定ツールへのブラウザーアクセス、および設定 API
  • configEditorCredentialsSecret: ユーザー名 (通常は quayconfig) および設定エディターツールのパスワードが含まれるシークレット

設定エディターツールのユーザー名とパスワードを確認するには、以下を実行します。

  1. シークレットを取得します。

    $ oc get secret -n quay-enterprise example-registry-quay-config-editor-credentials-kk55dc7299 -o yaml
    
    apiVersion: v1
    data:
      password: SkZwQkVKTUN0a1BUZmp4dA==
      username: cXVheWNvbmZpZw==
    kind: Secret
  2. ユーザー名をデコードします。

    $ echo 'cXVheWNvbmZpZw==' | base64 --decode
    
    quayconfig
  3. パスワードをデコードします。

    $ echo 'SkZwQkVKTUN0a1BUZmp4dA==' | base64 --decode
    
    JFpBEJMCtkPTfjxt