11.3. 使用 CLI 修改配置文件
您可以使用 CLI 下载现有配置来修改 configBundleSecret
存储的 config.yaml
文件。进行更改后,您可以重新上传 configBundleSecret
资源,以更改 Red Hat Quay registry。
修改 configBundleSecret
资源存储的 config.yaml
文件是一个多步骤,需要 base64 解码现有配置文件,然后上传更改。在大多数情况下,使用 OpenShift Container Platform Web 控制台对 config.yaml
文件进行更改更为简单。
先决条件
- 以具有 admin 权限的用户身份登录 OpenShift Container Platform 集群。
步骤
输入以下命令描述
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 输入以下命令来获取 secret 数据:
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 通过传递 >>
config.yaml 标志,将数据
解码到当前目录中。例如:echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yaml
$ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
对
config.yaml
文件进行所需的更改,然后将该文件保存为config.yaml
。 输入以下命令创建新的
configBundleSecret
YAML。touch <new_configBundleSecret_name>.yaml
$ touch <new_configBundleSecret_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令来创建新的
configBundleSecret
资源,传递config.yaml
文件':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
$ 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 Copied! Toggle word wrap Toggle overflow - 1
- 其中
<config.yaml&
gt; 是您的base64 解码
的config.yaml
文件。
输入以下命令来创建
configBundleSecret
资源:oc create -n <namespace> -f <new_configBundleSecret_name>.yaml
$ oc create -n <namespace> -f <new_configBundleSecret_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
secret/config-bundle created
secret/config-bundle created
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令更新
QuayRegistry
YAML 文件来引用新的configBundleSecret
对象:oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"<new_configBundleSecret_name>"}}'
$ oc patch quayregistry <registry_name> -n <namespace> --type=merge -p '{"spec":{"configBundleSecret":"<new_configBundleSecret_name>"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
quayregistry.quay.redhat.com/example-registry patched
quayregistry.quay.redhat.com/example-registry patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
验证
QuayRegistry
CR 已使用新的configBundleSecret
更新:oc describe quayregistry -n <quay_namespace>
$ oc describe quayregistry -n <quay_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
... ...
# ... Config Bundle Secret: <new_configBundleSecret_name> # ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 修补 registry 后,Red Hat Quay Operator 会自动协调更改。