9.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># ... Config Bundle Secret: example-registry-config-bundle-v123x # ...输入以下命令来获取 secret 数据:
$ oc get secret -n <quay_namespace> <example-registry-config-bundle-v123x> -o jsonpath='{.data}'输出示例
{ "config.yaml": "RkVBVFVSRV9VU0 ... MDAwMAo=" }通过传递 >>
config.yaml 标志,将数据解码到当前目录中。例如:$ echo 'RkVBVFVSRV9VU0 ... MDAwMAo=' | base64 --decode >> config.yaml-
对
config.yaml文件进行所需的更改,然后将该文件保存为config.yaml。 输入以下命令创建新的
configBundleSecretYAML。$ touch <new_configBundleSecret_name>.yaml输入以下命令来创建新的
configBundleSecret资源,传递config.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- 1
- 其中
<config.yaml> 是您的base64 解码的config.yaml文件。
输入以下命令来创建
configBundleSecret资源:$ oc create -n <namespace> -f <new_configBundleSecret_name>.yaml输出示例
secret/config-bundle created输入以下命令更新
QuayRegistryYAML 文件来引用新的configBundleSecret对象:$ 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> # ...修补 registry 后,Red Hat Quay Operator 会自动协调更改。