3.4. 設定バンドルを使用したカスタム SSL/TLS 証明書の設定

カスタム SSL/TLS 証明書は、初期デプロイメントの前、または Red Hat Quay を OpenShift Container Platform にデプロイした後に設定できます。これは、設定バンドルのシークレットを作成または更新することで実行できます。

既存のデプロイメントに証明書を追加する場合は、設定を変更しない場合でも、新規の設定バンドルシークレットに既存の config.yaml を含める必要があります。

カスタム SSL/TLS 証明書を追加するには、次の手順を実行します。

手順

  1. QuayRegistry YAML ファイルで、kind: tlsmanage:false に設定します。以下はその例です。

      - kind: tls
        managed: false
  2. Events ページには、適切な設定が行われるまで変更がブロックされていることが表示されます。以下に例を示します。

        - lastTransitionTime: '2022-03-28T12:56:49Z'
          lastUpdateTime: '2022-03-28T12:56:49Z'
          message: >-
            required component `tls` marked as unmanaged, but `configBundleSecret`
            is missing necessary fields
          reason: ConfigInvalid
          status: 'True'
  3. 埋め込みデータまたはファイルを使用してシークレットを作成します。

    1. 設定の詳細を Secret リソース YAML ファイルに直接組み込みます。以下に例を示します。

      custom-ssl-config-bundle.yaml

      apiVersion: v1
      kind: Secret
      metadata:
        name: custom-ssl-config-bundle-secret
        namespace: quay-enterprise
      data:
        config.yaml: |
          FEATURE_USER_INITIALIZE: true
          BROWSER_API_CALLS_XHR_ONLY: false
          SUPER_USERS:
          - quayadmin
          FEATURE_USER_CREATION: false
          FEATURE_QUOTA_MANAGEMENT: true
          FEATURE_PROXY_CACHE: true
          FEATURE_BUILD_SUPPORT: true
          DEFAULT_SYSTEM_REJECT_QUOTA_BYTES: 102400000
        extra_ca_cert_my-custom-ssl.crt: |
          -----BEGIN CERTIFICATE-----
          MIIDsDCCApigAwIBAgIUCqlzkHjF5i5TXLFy+sepFrZr/UswDQYJKoZIhvcNAQEL
          BQAwbzELMAkGA1UEBhMCSUUxDzANBgNVBAgMBkdBTFdBWTEPMA0GA1UEBwwGR0FM
          ....
          -----END CERTIFICATE-----

    2. YAML ファイルからシークレットを作成します。

      $ oc create  -f custom-ssl-config-bundle.yaml

      ..

  4. または、必要な情報が含まれるファイルを作成し、そのファイルからシークレットを作成できます。

    1. 次のコマンドを入力して、config.yaml ファイルと custom-ssl.crt ファイルを含む汎用 Secret オブジェクトを作成します。

      $ oc create secret generic custom-ssl-config-bundle-secret \
        --from-file=config.yaml \
        --from-file=extra_ca_cert_my-custom-ssl.crt=my-custom-ssl.crt
    2. 作成された Secret を参照する QuayRegistry YAML ファイルを作成または更新します。以下はその例です。

      QuayRegistry YAML ファイルの例

      apiVersion: quay.redhat.com/v1
      kind: QuayRegistry
      metadata:
        name: example-registry
        namespace: quay-enterprise
      spec:
        configBundleSecret: custom-ssl-config-bundle-secret

    3. 次のコマンドを入力し、YAML ファイルを使用してレジストリーをデプロイまたは更新します。

      oc apply -f quayregistry.yaml