11.10. 커뮤니티 External Secrets Operator에서 Red Hat OpenShift용 외부 Secrets Operator로 마이그레이션
커뮤니티 External Secrets Operator에서 Red Hat OpenShift 지원 버전의 External Secrets Operator로 마이그레이션합니다. 이 변환은 엔터프라이즈급 지원과 외부 시크릿 관리를 위한 원활한 통합을 제공합니다.
다음 마이그레이션 버전이 완전히 테스트되었습니다.
| 업스트림 버전 | 설치 방법 | 다운스트림 버전 |
|---|---|---|
| 0.11.0 | OLM | v1.0.0 GA |
| 0.19.0 | Helm | v1.0.0 GA |
마이그레이션은 롤백을 지원하지 않습니다.
External Secrets Operator for Red Hat OpenShift는 업스트림 버전 0.19.0을 기반으로 합니다. 상위 버전의 External Secrets Operator에서 마이그레이션하지 마십시오.
11.10.1. 커뮤니티 외부 시크릿 Operator 삭제 링크 복사링크가 클립보드에 복사되었습니다!
기존 애플리케이션이 완전히 제거되도록 커뮤니티 Operator의 구성 리소스를 삭제합니다. 이 작업을 수행하면 Red Hat OpenShift용 외부 Secrets Operator를 설치하기 전에 충돌이 발생하지 않습니다.
사전 요구 사항
-
cluster-admin역할의 사용자로 로그인해야 합니다. -
oc명령줄 툴이 설치되어 구성되어 있어야 합니다.
프로세스
다음 명령을 실행하여 커뮤니티 Operator의
네임스페이스를 찾습니다.oc get operatorconfigs.operator.external-secrets.io -A
$ oc get operatorconfigs.operator.external-secrets.io -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은
네임스페이스를 찾는 예입니다.NAMESPACE NAME AGE external-secrets cluster 9m18s
NAMESPACE NAME AGE external-secrets cluster 9m18sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
operatorconfigCR(사용자 정의 resrouce)을 삭제합니다.oc delete operatorconfig <config_name> -n <operator_namespace>
$ oc delete operatorconfig <config_name> -n <operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
operatorconfigCR이 삭제되었는지 확인하려면 다음 명령을 실행합니다.oc get operatorconfig -n <operator_namespace>
$ oc get operatorconfig -n <operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령에서
리소스를 찾을 수 없습니다.이전 Webhook가 삭제되었는지 확인하려면 다음 명령을 실행합니다.
oc get validatingwebhookconfigurations | grep external-secrets
$ oc get validatingwebhookconfigurations | grep external-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc get mutatingwebhookconfigurations | grep external-secrets
$ oc get mutatingwebhookconfigurations | grep external-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 명령에서 결과를 반환하지 않아야 합니다.
11.10.2. 커뮤니티 외부 시크릿 Operator 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift용 외부 Secret Operator로 마이그레이션한 후 충돌 또는 실수로 재생성하지 않도록 커뮤니티 외부 시크릿 Operator를 설치 제거합니다.
다시 생성되거나 새 보안과 충돌하지 않도록 커뮤니티 외부 시크릿 Operator를 설치 제거해야 합니다. 설치 제거 단계는 커뮤니티 외부 시크릿 Operator 설치 방법에 따라 다르지만 사전 요구 사항은 각각에 대해 동일합니다.
11.10.2.1. helm installed community External Secrets Operator 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
Helm을 사용하여 설치된 커뮤니티 외부 Secrets Operator를 제거합니다. 이를 통해 리소스를 확보하고 클러스터에 대한 클린 환경을 유지 관리할 수 있습니다.
사전 요구 사항
-
cluster-admin역할의 사용자로 로그인해야 합니다. -
operatorconfigCR(사용자 정의 리소스)을 삭제해야 합니다.
프로세스
-
Red Hat OpenShift용 외부 Secrets Operator를 설치합니다.
external-secrets-operator네임스페이스는 null이어야 합니다. 다음 명령을 실행하여 외부 Secrets Operator를 삭제합니다.
oc helm delete <release_name> -n <operator_namespace>
$ oc helm delete <release_name> -n <operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고helm delete를 사용하면 모든 CRD(Custom Resource Definitions) 및 CR을 삭제할 수 있습니다. 네임스페이스external-secrets-operator가 비어 있으면 먼저 다운스트림 Operator를 설치하는 것이 좋습니다.
11.10.2.2. Operator Lifecylce Manager 설치 제거 커뮤니티 External Secrets Operator 링크 복사링크가 클립보드에 복사되었습니다!
OLM(Operator Lifecycle Manager) 서브스크립션을 통해 설치한 커뮤니티 외부 시크릿 Operator를 제거합니다. 이를 통해 리소스를 확보하고 클러스터에 대한 클린 환경을 유지 관리할 수 있습니다.
사전 요구 사항
-
cluster-admin역할의 사용자로 로그인해야 합니다. -
operatorconfigCR을 삭제해야 합니다.
프로세스
다음 명령을 실행하여 서브스크립션 이름을 찾습니다.
oc get subscription -n <operator_namespace> | grep external-secrets
$ oc get subscription -n <operator_namespace> | grep external-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 서브스크립션을 삭제합니다.
oc delete subscription <subscription_name> -n <operator_namespace>
$ oc delete subscription <subscription_name> -n <operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ClusterServiceVersion을 삭제합니다.oc delete csv <csv_name> -n <operator_namespace>
$ oc delete csv <csv_name> -n <operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.10.2.3. 원시 매니페스트가 설치된 커뮤니티 외부 시크릿 Operator 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
원시 매니페스트에서 설치한 커뮤니티 외부 Secrets Operator를 제거합니다. 이를 통해 리소스를 확보하고 클러스터에 대한 클린 환경을 유지 관리할 수 있습니다.
사전 요구 사항
-
cluster-admin역할의 사용자로 로그인해야 합니다. -
operatorconfigCR을 삭제해야 합니다.
프로세스
원시 매니페스트에서 설치한 communiity External Secrets Operator를 제거하려면 다음 명령을 실행합니다.
oc delete -f /path/to/your/old/manifests.yaml -n <operator_namespace>
$ oc delete -f /path/to/your/old/manifests.yaml -n <operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.10.3. Red Hat OpenShift용 외부 Secrets Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
커뮤니티 버전을 정리한 후 Red Hat OpenShift용 External Secrets Operator를 설치합니다. 이렇게 하면 클러스터에서 시크릿을 관리하기 위해 공식적으로 지원되는 서비스가 설정됩니다. 자세한 내용은 외부 Secrets Operator for Red Hat OpenShift 설치를 참조하십시오.
11.10.4. ExternalSecretsConfig Operator 생성 링크 복사링크가 클립보드에 복사되었습니다!
코어 external-secrets 구성 요소를 설치하고 구성할 ExternalSecretsConfig 리소스를 생성합니다. 이 설정은 Bitwarden 및 cert-manager 지원과 같은 기능이 올바르게 활성화되도록 하는 데 도움이 됩니다.
사전 요구 사항
- External Secrets Operator for Red Hat OpenShift가 설치되어 있습니다.
- cert-manager Operator for Red Hat OpenShift가 설치되어 있습니다.
-
cluster-admin권한이 있는 클러스터에 액세스할 수 있습니다.
프로세스
다음 내용으로 YAML 파일을 정의하여
externalsecretsconfig파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
ExternalSecretsConfig오브젝트를 생성합니다.oc create -f externalsecretsconfig.yaml
$ oc create -f externalsecretsconfig.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
모든 CR(사용자 정의 리소스)이 있고 API가 v1beta1 대신 v1 을 사용하고 있는지 확인합니다. CR은 유지되며 새 Operator에 의해 자동으로 변환됩니다.
external-secretsPod가실행 중인지확인하려면 다음 명령을 실행합니다.oc get pods -n external-secret
$ oc get pods -n external-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은
external-secretsPod가실행 중인상태인 예제 출력입니다.NAME READY STATUS RESTARTS AGE bitwarden-sdk-server-5b4cf48766-w7zp7 1/1 Running 0 5m external-secrets-5854b85dd5-m6zf9 1/1 Running 0 5m external-secrets-webhook-5cb85b8fdb-6jtqb 1/1 Running 0 5m
NAME READY STATUS RESTARTS AGE bitwarden-sdk-server-5b4cf48766-w7zp7 1/1 Running 0 5m external-secrets-5854b85dd5-m6zf9 1/1 Running 0 5m external-secrets-webhook-5cb85b8fdb-6jtqb 1/1 Running 0 5mCopy to Clipboard Copied! Toggle word wrap Toggle overflow SecretStoreCR이 있는지 확인하려면 다음 명령을 실행합니다.oc get secretstores.external-secrets.io -A
$ oc get secretstores.external-secrets.io -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은
SecretStore가 있는지 확인하는 출력의 예입니다.NAMESPACE NAME AGE STATUS CAPABILITIES READY external-secrets-1 gcp-store 18min Valid ReadWrite True external-secrets-2 aws-secretstore 11min Valid ReadWrite True external-secrets bitwarden-secretsmanager 20min Valid Readwrite True
NAMESPACE NAME AGE STATUS CAPABILITIES READY external-secrets-1 gcp-store 18min Valid ReadWrite True external-secrets-2 aws-secretstore 11min Valid ReadWrite True external-secrets bitwarden-secretsmanager 20min Valid Readwrite TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow ExternalSecretCR이 있는지 확인하려면 다음 명령을 실행합니다.oc get externalsecrets.external-secrets.io -A
$ oc get externalsecrets.external-secrets.io -ACopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은
SecretStore가 있는지 확인하는 출력의 예입니다.NAMESPACE NAME STORE REFRESH INTERVAL STATUS READY external-secrets-1 gcp-externalsecret gcp-store 1hr SecretSynced True external-secrets-2 aws-external-secret aws-secret-store 1hr SecretSynced True external-secrets bitwarden bitwarden-secretsmanager 1hr SecretSynced True
NAMESPACE NAME STORE REFRESH INTERVAL STATUS READY external-secrets-1 gcp-externalsecret gcp-store 1hr SecretSynced True external-secrets-2 aws-external-secret aws-secret-store 1hr SecretSynced True external-secrets bitwarden bitwarden-secretsmanager 1hr SecretSynced TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow SecretStore가apiVersion: external-secrets.io/v1인지 확인하려면 다음 명령을 실행합니다.oc get secretstores.external-secrets.io -n external-secrets-1 gcp-store -o yaml
$ oc get secretstores.external-secrets.io -n external-secrets-1 gcp-store -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음은
SecretStore가apiVersion: external-secrets.io/v1인 예제 출력입니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow ExternalSecret이apiVersion: external-secrets.io/v1인지 확인하려면 다음 명령을 실행합니다.oc get externalsecrets.external-secrets.io -n external-secrets-1 gcp-externalsecret -o yaml
$ oc get externalsecrets.external-secrets.io -n external-secrets-1 gcp-externalsecret -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ExternalSecret이apiVersion: external-secrets.io/v1인 예제 출력은 다음과 같습니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow