9.3. CLI를 사용하여 구성 파일 수정
CLI를 사용하여 기존 구성을 다운로드하여 configBundleSecret 에서 저장한 config.yaml 파일을 수정할 수 있습니다. 변경 후 configBundleSecret 리소스를 다시 업로드하여 Red Hat Quay 레지스트리를 변경할 수 있습니다.
configBundleSecret 리소스에서 저장한 config.yaml 파일을 수정하는 것은 기존 구성 파일을 디코딩한 다음 변경 사항을 업로드하는 다단계 절차입니다. 대부분의 경우 OpenShift Container Platform 웹 콘솔을 사용하여 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> \1 --dry-run=client -o yaml > <new_configBundleSecret_name>.yaml- 1
- 여기서
<config.yaml>은base64 decodedconfig.yaml파일입니다.
다음 명령을 입력하여
configBundleSecret리소스를 생성합니다.$ oc create -n <namespace> -f <new_configBundleSecret_name>.yaml출력 예
secret/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가 변경 사항을 자동으로 조정합니다.