11.7. Red Hat OpenShift용 외부 보안 Operator 사용자 정의
Red Hat OpenShift용 External Secrets Operator가 설치된 후 ExternalSecretsConfig CR(사용자 정의 리소스)을 편집하여 동작을 사용자 지정할 수 있습니다. 이를 통해 external-secrets 컨트롤러, cert-controller, webhook, bitwardenSecretManagerProvider 플러그인과 같은 구성 요소를 수정할 수 있으며 Operator Pod의 환경 변수도 설정할 수 있습니다.
11.7.1. Red Hat OpenShift용 외부 Secrets Operator의 로그 수준 설정 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift의 External Secrets Operator의 로그 수준을 설정하여 Operator 로그 메시지의 상세 정보를 확인할 수 있습니다.
사전 요구 사항
-
cluster-admin권한이 있는 클러스터에 액세스할 수 있습니다. -
ExternalSecretsConfig사용자 정의 리소스를 생성했습니다.
프로세스
다음 명령을 실행하여 Red Hat OpenShift용 외부 Secrets Operator의 서브스크립션 오브젝트를 업데이트하여 Operator 로그에 대한 상세 정보 표시 수준을 제공합니다.
$ oc -n <external_secrets_operator_namespace> patch subscription openshift-external-secrets-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"OPERATOR_LOG_LEVEL","value":"<log_level>"}]}}}'다음과 같습니다.
- external_secrets_operator_namespace
- Operator가 설치된 네임스페이스를 지정합니다.
- log_level
- 로그 세부 정보 수준을 지정합니다. 값 범위는 1-5입니다. 기본값은 2입니다.
검증
External Secrets Operator Pod가 재배포됩니다. 다음 명령을 실행하여 Red Hat OpenShift용 외부 시크릿 Operator의 로그 수준이 업데이트되었는지 확인합니다.
$ oc set env deploy/external-secrets-operator-controller-manager -n external-secrets-operator --list | grep -e OPERATOR_LOG_LEVEL -e container다음 예제에서는 Red Hat OpenShift용 External Secrets Operator의 로그 수준이 업데이트되었는지 확인합니다.
# deployments/external-secrets-operator-controller-manager, container manager OPERATOR_LOG_LEVEL=2oc logs명령을 실행하여 Red Hat OpenShift용 외부 Secrets Operator의 로그 수준이 업데이트되었는지 확인합니다.$ oc logs -n external-secrets-operator -f deployments/external-secrets-operator-controller-manager -c manager
11.7.2. Red Hat OpenShift 피연산자용 External Secrets Operator의 로그 수준 설정 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift의 외부 Secrets Operator의 로그 수준을 설정하여 로그 메시지의 상세 수준을 확인할 수 있습니다.
사전 요구 사항
-
cluster-admin권한이 있는 클러스터에 액세스할 수 있습니다. -
ExternalSecretsConfig사용자 정의 리소스를 생성했습니다.
프로세스
다음 명령을 실행하여
ExternalSecretsConfigCR을 편집합니다.$ oc edit externalsecretsconfigs.operator.openshift.io clusterspec.appConfig.logLevel섹션을 편집하여 로그 수준 값을 설정합니다.apiVersion: operator.openshift.io/v1alpha1 kind: ExternalSecretsConfig ... spec: appConfig: logLevel: <log_level>1 - 1
- 1-5의 값 범위를 지원합니다. 로그 수준은 다음 피연산자 지원 수준에 매핑됩니다.
- 1 - 경고
- 2 - 오류 로그
- 3 - 정보 로그
- 4 및 5 - 디버그 로그
- 변경 사항을 저장하고 편집기를 종료합니다.
11.7.3. external-secrets 인증서 요구 사항에 맞게 cert-manager 구성 링크 복사링크가 클립보드에 복사되었습니다!
external-secrets 웹 후크 및 플러그인은 인증서 관리를 위해 cert-manager 에 할당할 수 있습니다. 이 구성은 선택 사항입니다.
cert-manager 를 사용하지 않으면 external-secrets 의 기본값은 자체 인증서 관리입니다. 이 모드에서는 플러그인에 대한 인증서를 수동으로 구성하는 동안 Webhook에 필요한 인증서를 자동으로 생성합니다.
사전 요구 사항
-
cluster-admin권한이 있는 클러스터에 액세스할 수 있습니다. -
ExternalSecretsConfig사용자 정의 리소스를 생성했습니다. - cert-manager Operator for Red Hat OpenShift가 설치되어 있습니다. 자세한 내용은 "Cert-manager Operator for Red Hat OpenShift 설치"를 참조하십시오.
프로세스
다음 명령을 실행하여
ExternalSecretsConfig사용자 정의 리소스를 편집합니다.$ oc edit externalsecretsconfigs.operator.openshift.io clusterspec.controllerConfig.certProvider.certManager섹션을 다음과 같이 편집하여cert-manager를 구성합니다.apiVersion: operator.openshift.io/v1alpha1 kind: ExternalSecretsConfig ... spec: controllerConfig: certProvider: certManager: injectAnnotations: "true" issuerRef: name: <issuer_name> kind: <issuer_kind> group: <issuer_group> mode: Enabled다음과 같습니다.
- injectAnnotation
-
활성화된 경우
true로 설정해야 합니다. - name
-
ExternalSecretsConfig에서 참조하는 발급자 오브젝트의 이름을 지정합니다. - kind
-
API 발행자를 지정합니다.
Issuer또는ClusterIssuer로 설정할 수 있습니다. - group
-
API 발행자 그룹을 지정합니다. 그룹 이름은
cert-manager.io여야 합니다. - mode
-
enabled로 설정해야 합니다. 이는 변경할 수 없는 필드이며 구성 후에는 수정할 수 없습니다.
- 변경 사항을 저장하십시오.
externalsecretsconfig.operator.openshift.io오브젝트에서cert-manager구성을 업데이트한 후 다음 명령을 실행하여external-secrets-cert-controller배포를 수동으로 삭제해야 합니다. 이렇게 하면external-secrets애플리케이션의 성능 저하가 방지됩니다.$ oc delete deployments.apps external-secrets-cert-controller -n external-secrets선택적으로 다음 명령을 실행하여
cert-controller에 대해 생성된 다른 리소스를 삭제할 수 있습니다.$ oc delete clusterrolebindings.rbac.authorization.k8s.io external-secrets-cert-controller$ oc delete clusterroles.rbac.authorization.k8s.io external-secrets-cert-controller$ oc delete serviceaccounts external-secrets-cert-controller -n external-secrets$ oc delete secrets external-secrets-webhook -n external-secrets
11.7.4. bitwardenSecretManagerProvider 플러그인 구성 링크 복사링크가 클립보드에 복사되었습니다!
Bit wardenSecretManagerProvider 가 Bitwarden Secrets Manager 공급자를 보안 소스로 사용하도록 활성화할 수 있습니다.
사전 요구 사항
-
cluster-admin권한이 있는 클러스터에 액세스할 수 있습니다. -
ExternalSecretsConfig사용자 정의 리소스를 생성했습니다.
프로세스
다음 명령을 실행하여
ExternalSecretsConfig사용자 정의 리소스를 편집합니다.$ oc edit externalsecretsconfigs.operator.openshift.io cluster다음과 같이
spec.plugins.bitwardenSecretManagerProvider섹션을 편집하여 Bitwarden Secrets Manager를 활성화합니다.apiVersion: operator.openshift.io/v1alpha1 kind: ExternalSecretsConfig ... spec: plugins: bitwardenSecretManagerProvider: mode: Enabled secretRef: name: <secret_object_name>다음과 같습니다.
- name
-
플러그인의 인증서 키 쌍을 포함하는 보안의 이름입니다. 인증서의 시크릿의 키 이름은
tls.crt여야 합니다. 개인 키의 키 이름은tls.key여야 합니다. CA(인증 기관) 인증서 키 이름의 키 이름은ca.crt여야 합니다. cert-manager 인증서 공급자가 구성된 경우 보안을 구성하는 것은 선택 사항입니다.
- 변경 사항을 저장하고 편집기를 종료합니다.
- 플러그인을 비활성화하는 경우 다음 명령을 실행하여 다음 리소스를 수동으로 삭제해야 합니다.
$ oc delete deployments.apps bitwarden-sdk-server -n external-secrets
$ oc delete certificates.cert-manager.io bitwarden-tls-certs -n external-secrets
$ oc delete service bitwarden-sdk-server -n external-secrets
$ oc delete serviceaccounts bitwarden-sdk-server -n external-secrets