5.3.3.2. CLI を使用して設定ファイルを変更する
Red Hat Quay レジストリーの config.yaml ファイルを変更して新機能を有効にするには、CLI を使用して configBundleSecret から既存の設定をダウンロードできます。変更を加えた後、configBundleSecret リソースを再アップロードすることで、変更を適用できます。
configBundleSecret リソースによって保存される config.yaml ファイルを変更するには、既存の設定ファイルを base64 でデコードした後に変更をアップロードするという、複数のステップからなる手順が必要です。ほとんどの場合、OpenShift Container Platform Web コンソールを使用して config.yaml ファイルに変更を加える方が簡単です。
前提条件
- 管理者権限を持つユーザーとして OpenShift Container Platform クラスターにログインしている。
手順
次のコマンドを入力して、
QuayRegistryリソースを記述します。$ oc describe quayregistry -n <quay_namespace># ... Config Bundle Secret: example-registry-config-bundle-v123x # ...次のコマンドを入力してシークレットデータを取得します。
$ oc get secret -n <quay_namespace> <example-registry-config-bundle-v123x> -o jsonpath='{.data}'{ "config.yaml": "RkVBVFVSRV9VU0 ... MDAwMAo=" }>> config.yamlフラグを渡して、データをカレントディレクトリーの YAML ファイルにデコードします。以下に例を示します。$ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yaml-
config.yamlファイルに必要な変更を加え、ファイルをconfig.yamlとして保存します。 次のコマンドを入力して、新しい
configBundleSecretYAML を作成します。$ touch <new_configBundleSecret_name>.yaml次のコマンドを入力し、
config.yamlファイルを渡して新しいconfigBundleSecretリソースを作成します。$ oc -n <namespace> create secret generic <secret_name> \ --from-file=config.yaml=</path/to/config.yaml> \ --dry-run=client -o yaml > <new_configBundleSecret_name>.yamlここでは、以下のようになります。
- </path/to/config.yaml>
-
base64 でデコードされた
config.yamlファイルを指定します。
次のコマンドを入力して、
configBundleSecretリソースを作成します。$ oc create -n <namespace> -f <new_configBundleSecret_name>.yamlsecret/config-bundle created次のコマンドを入力して、新しい
configBundleSecretオブジェクトを参照するようにQuayRegistryYAML ファイルを更新します。$ oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"<new_configBundleSecret_name>"}}'quayregistry.quay.redhat.com/example-registry patched
検証
QuayRegistryCR が新しいconfigBundleSecretで更新されていることを確認します。$ oc describe quayregistry -n <quay_namespace># ... Config Bundle Secret: <new_configBundleSecret_name> # ...レジストリーにパッチを適用すると、Red Hat Quay Operator が自動的に変更を調整します。