11.7. External Secrets Operator for Red Hat OpenShift のカスタマイズ
External Secrets Operator for Red Hat OpenShift をインストールした後、ExternalSecretsConfig カスタムリソース (CR) を編集することで、Operator の動作をカスタマイズできます。これにより、external-secrets コントローラー、cert-controller、webhook、bitwardenSecretManagerProvider プラグインなどのコンポーネントを変更したり、Operator Pod の環境変数を設定したりできます。
11.7.1. External Secrets Operator for Red Hat OpenShift のログレベルの設定 リンクのコピーリンクがクリップボードにコピーされました!
External Secrets Operator for Red Hat OpenShift のログレベルを設定して、Operator ログメッセージの詳細レベルを決定できます。
前提条件
-
cluster-admin権限でクラスターにアクセスできる。 -
ExternalSecretsConfigカスタムリソースを作成した。
手順
次のコマンドを実行して、External Secrets Operator for Red Hat OpenShift のサブスクリプションオブジェクトを更新し、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>"}]}}}'$ 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>"}]}}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- external_secrets_operator_namespace
- Operator がインストールされている namespace。
- log_level
- 1 - 5 の値がサポートされています。デフォルトは 2 です。
検証
External Secrets Operator Pod が再デプロイされます。次のコマンドを実行して、External Secrets Operator for Red Hat OpenShift のログレベルが更新されていることを確認します。
oc set env deploy/external-secrets-operator-controller-manager -n external-secrets-operator --list | grep -e OPERATOR_LOG_LEVEL -e container
$ oc set env deploy/external-secrets-operator-controller-manager -n external-secrets-operator --list | grep -e OPERATOR_LOG_LEVEL -e containerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
deployments/external-secrets-operator-controller-manager, container manager
# deployments/external-secrets-operator-controller-manager, container manager OPERATOR_LOG_LEVEL=2Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc logsコマンドを実行して、External Secrets Operator for Red Hat OpenShift のログレベルが更新されていることを確認します。oc logs -n external-secrets-operator -f deployments/external-secrets-operator-controller-manager -c manager
$ oc logs -n external-secrets-operator -f deployments/external-secrets-operator-controller-manager -c managerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.7.2. External Secrets Operator for Red Hat OpenShift オペランドのログレベルの設定 リンクのコピーリンクがクリップボードにコピーされました!
External Secrets Operator for Red Hat OpenShift のログレベルを設定して、ログメッセージの詳細レベルを決定できます。
前提条件
-
cluster-admin権限でクラスターにアクセスできる。 -
ExternalSecretsConfigカスタムリソースを作成した。
手順
次のコマンドを実行して、
ExternalSecretsConfigCR を編集します。oc edit externalsecretsconfigs.operator.openshift.io cluster
$ oc edit externalsecretsconfigs.operator.openshift.io clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow spec.appConfig.logLevelセクションを編集してログレベルの値を設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 1 - 5 の値がサポートされています。ログレベルは、オペランド側で次のサポートレベルにマッピングされます。
- 1 - 警告
- 2 - エラーログ
- 3 - 情報ログ
- 4 および 5 - デバッグログ
- 変更を保存し、エディターを終了します。
11.7.3. external-secrets の証明書要件を満たすための cert-manager の設定 リンクのコピーリンクがクリップボードにコピーされました!
証明書管理のために、external-secrets の Webhook およびプラグインを 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 cluster
$ oc edit externalsecretsconfigs.operator.openshift.io clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のように
spec.controllerConfig.certProvider.certManagerセクションを編集して、cert-managerを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- 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
$ oc delete deployments.apps external-secrets-cert-controller -n external-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、次のコマンドを実行して、
cert-controller用に作成された他のリソースを削除できます。oc delete clusterrolebindings.rbac.authorization.k8s.io external-secrets-cert-controller
$ oc delete clusterrolebindings.rbac.authorization.k8s.io external-secrets-cert-controllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete clusterroles.rbac.authorization.k8s.io external-secrets-cert-controller
$ oc delete clusterroles.rbac.authorization.k8s.io external-secrets-cert-controllerCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete serviceaccounts external-secrets-cert-controller -n external-secrets
$ oc delete serviceaccounts external-secrets-cert-controller -n external-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow oc delete secrets external-secrets-webhook -n external-secrets
$ oc delete secrets external-secrets-webhook -n external-secretsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.7.4. bitwardenSecretManagerProvider プラグインの設定 リンクのコピーリンクがクリップボードにコピーされました!
bitwardenSecretManagerProvider を有効にすると、Bitwarden Secrets Manager プロバイダーをシークレットのソースとして使用できます。
前提条件
-
cluster-admin権限でクラスターにアクセスできる。 -
ExternalSecretsConfigカスタムリソースを作成した。
手順
次のコマンドを実行して、
ExternalSecretsConfigカスタムリソースを編集します。oc edit externalsecretsconfigs.operator.openshift.io cluster
$ oc edit externalsecretsconfigs.operator.openshift.io clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow spec.plugins.bitwardenSecretManagerProviderセクションを次のように編集し、Bitwarden Secrets Manager を有効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
- name
-
プラグインの証明書鍵ペアを含むシークレットの名前。シークレット内において、証明書のキー名は
tls.crtである必要があります。秘密鍵のキー名はtls.keyである必要があります。認証局 (CA) 証明書のキー名はca.crtである必要があります。cert-manager 証明書プロバイダーが設定されている場合、シークレットの設定は任意です。
- 変更を保存し、エディターを終了します。
- プラグインを無効にする場合は、次のコマンドを実行して次のリソースを手動で削除する必要があります。
oc delete deployments.apps bitwarden-sdk-server -n external-secrets
$ oc delete deployments.apps bitwarden-sdk-server -n external-secrets
oc delete certificates.cert-manager.io bitwarden-tls-certs -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 service bitwarden-sdk-server -n external-secrets
oc delete serviceaccounts bitwarden-sdk-server -n external-secrets
$ oc delete serviceaccounts bitwarden-sdk-server -n external-secrets