3.2. Red Hat Quay on OpenShift Container Platform への認証局のさらなる追加
Red Hat Quay on OpenShift Container Platform では、extra_ca_certs 設定フィールドを使用して追加の認証局 (CA) が CA ディレクトリーに入力され、その後、CA がシステムトラストバンドルに追加されます。これらの証明書は、LDAP、OIDC、ストレージシステムなどの外部サービスとの SSL/TLS 接続を検証するために Red Hat Quay によって使用されます。
OpenShift Container Platform に Red Hat Quay をデプロイまたは再デプロイする場合、外部サービスが適切に保護されて検証されるように、1 つまたは複数の CA を CA ディレクトリーに追加できます。OpenShift Container Platform デプロイメント上の Red Hat Quay では、extra_ca_certs 設定フィールドを config.yaml ファイルに手動で追加し、config.yaml を OpenShift Container Platform に再アップロードする必要があります。
以下の手順では、既存の設定ファイルをダウンロードし、OpenShift Container Platform デプロイメント上の Red Hat Quay に CA をさらに追加して、設定ファイルを再アップロードする方法を示します。
3.2.1. 既存設定のダウンロード リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、Config Bundle Secret を見つけて既存の設定をダウンロードする方法を示します。
手順
次のコマンドを入力して、
QuayRegistryリソースを記述します。oc describe quayregistry -n <quay_namespace>
$ oc describe quayregistry -n <quay_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ... ...
# ... Config Bundle Secret: example-registry-config-bundle-v123x # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力してシークレットデータを取得します。
oc get secret -n <quay_namespace> <example-registry-config-bundle-v123x> -o jsonpath='{.data}'$ oc get secret -n <quay_namespace> <example-registry-config-bundle-v123x> -o jsonpath='{.data}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
{ "config.yaml": "RkVBVFVSRV9VU0 ... MDAwMAo=" }{ "config.yaml": "RkVBVFVSRV9VU0 ... MDAwMAo=" }Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力してデータをデコードします。
echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode
$ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decodeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション:
>> config.yamlフラグを渡すことで、データを現在のディレクトリーの YAML ファイルにエクスポートできます。以下に例を示します。echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yaml
$ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.2. Red Hat Quay on OpenShift Container Platform への認証局のさらなる追加 リンクのコピーリンクがクリップボードにコピーされました!
次の例は、OpenShift Container Platform デプロイメント上の Red Hat Quay に認証局をさらに追加する方法を示しています。
前提条件
-
base64 で元の設定バンドルを
config.yamlファイルにデコードしている。詳細は、既存の設定のダウンロード を参照してください。 - 認証局 (CA) ファイルがある。
手順
新しい YAML ファイル (例:
extra-ca-certificate-config-bundle-secret.yaml)を作成します。touch extra-ca-certificate-config-bundle-secret.yaml
$ touch extra-ca-certificate-config-bundle-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow extra-ca-certificate-config-bundle-secretリソースを作成します。オプション: 次のコマンドを入力すると、
extra-ca-certificate-config-bundle-secret.yamlファイルの内容を確認できます。cat extra-ca-certificate-config-bundle-secret.yaml
$ cat extra-ca-certificate-config-bundle-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
configBundleSecretリソースを作成します。oc create -n <namespace> -f extra-ca-certificate-config-bundle-secret.yaml
$ oc create -n <namespace> -f extra-ca-certificate-config-bundle-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
secret/extra-ca-certificate-config-bundle-secret created
secret/extra-ca-certificate-config-bundle-secret createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
QuayRegistryYAML ファイルを更新し、extra-ca-certificate-config-bundle-secretオブジェクトを参照します。oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"extra-ca-certificate-config-bundle-secret"}}'$ oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"extra-ca-certificate-config-bundle-secret"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
quayregistry.quay.redhat.com/example-registry patched
quayregistry.quay.redhat.com/example-registry patchedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを入力して、
QuayRegistryYAML ファイルが更新され、追加の CA 証明書configBundleSecretリソースが使用されるようにします。oc get quayregistry <registry_name> -n <namespace> -o yaml
$ oc get quayregistry <registry_name> -n <namespace> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
... ...
# ... configBundleSecret: extra-ca-certificate-config-bundle-secret # ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow