11.10. 커뮤니티 External Secrets Operator에서 Red Hat OpenShift용 외부 Secrets Operator로 마이그레이션
외부 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에서 설치한 external-secrets 애플리케이션을 삭제하려면 커뮤니티 External Secrets.io CR(사용자 정의 리소스)의 operatorconfigs.operator.external-secrets.io 사용자 정의 리소스(CR)를 삭제해야 합니다.
사전 요구 사항
-
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 다음 명령을 실행하여
operatorconfig를 삭제합니다.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
검증
operatorconfig가 삭제되었는지 확인하려면 다음 명령을 실행합니다.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 설치 제거 링크 복사링크가 클립보드에 복사되었습니다!
다시 생성되거나 새 보안과 충돌하지 않도록 커뮤니티 외부 시크릿 Operator를 설치 제거해야 합니다.
사전 요구 사항
-
cluster-admin역할의 사용자로 로그인해야 합니다. -
operatorconfig를 삭제해야 합니다.
프로세스
OLM(Operator Lifecycle Manager) 서브스크립션을 통해 커뮤니티 외부 시크릿 Operator를 설치한 경우 다음 단계를 수행하여 Operator를 삭제합니다.
다음 명령을 실행하여 서브스크립션 이름을 찾습니다.
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
Helm에 의해 커뮤니티 {external-secret-operator}를 설치한 경우 다음 명령을 실행하여 Operator를 삭제합니다.
helm uninstall <release_name> -n <operator_namespace>
$ helm uninstall <release_name> -n <operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 원시 매니페스트로 커뮤니티 {external-secret-operator}를 설치한 경우 다음 명령을 실행하여 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 설치 링크 복사링크가 클립보드에 복사되었습니다!
operatorconfig 가 삭제되고 커뮤니티 {external-secret-operator-short}이 삭제되면 Red Hat OpenShift용 외부 Secrets Operator를 설치할 수 있습니다. 자세한 내용은 외부 Secrets Operator for Red Hat OpenShift 설치를 참조하십시오.
11.10.4. ExternalSecretsConfig Operator 생성 링크 복사링크가 클립보드에 복사되었습니다!
ExternalSecretsConfig 를 생성하는 목적은 external-secrets 를 설치하고 구성하는 것입니다. 이 구성을 사용하면 cert-manager 및 Bitwarden 지원이 활성화됩니다.
사전 요구 사항
- 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