11.10. コミュニティーの外部シークレット Operator から Red Hat OpenShift の外部シークレット Operator への移行
コミュニティーの外部シークレット Operator から、Red Hat OpenShift のサポート対象バージョンの外部シークレット 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. コミュニティー版 External Secrets Operator の削除 リンクのコピーリンクがクリップボードにコピーされました!
レガシーアプリケーションが完全に削除されるように、community Operator の設定リソースを削除します。このアクションにより、Red Hat OpenShift の外部シークレット Operator をインストールする前に競合を防ぎます。
前提条件
-
cluster-adminロールを持つユーザーとしてログインしている。 -
ocコマンドラインツールがインストールおよび設定されている。
手順
次のコマンドを実行して、コミュニティー版 Operator の
namespaceを確認します。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の確認の例です。NAMESPACE NAME AGE external-secrets cluster 9m18s
NAMESPACE NAME AGE external-secrets cluster 9m18sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
operatorconfigカスタムリソース(CR)を削除します。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 このコマンドは
no resource foundを返すはずです。古い 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. コミュニティー版 External Secrets Operator のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift の外部 Secret Operator に移行した後に競合や誤って再作成されないように、コミュニティーの外部シークレット Operator をアンインストールします。
コミュニティー版 External Secrets Operator の再作成や、新しいものと競合を防ぐには、これをアンインストールする必要があります。アンインストールする手順は、コミュニティーの External Secrets Operator がインストールされた方法によって異なりますが、前提条件は同じです。
11.10.2.1. helm のインストールされたコミュニティーの外部シークレット Operator のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
Helm を使用してインストールされたコミュニティー外部シークレット Operator を削除します。これは、リソースを解放し、クラスターのクリーンな環境を維持するのに役立ちます。
前提条件
-
cluster-adminロールを持つユーザーとしてログインしている。 -
operatorconfigカスタムリソース(CR)を削除している。
手順
-
Red Hat OpenShift の外部シークレット Operator をインストールします。
external-secrets-operatornamespace は null である必要があります。 次のコマンドを実行して、外部シークレット 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)および CR を削除できます。namespaceexternal-secrets-operatorが空の場合は、ダウンストリーム Operator を最初にインストールすることが推奨されます。
11.10.2.2. Operator Lifecylce Manager がインストールされたコミュニティーの外部シークレット Operator のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM)サブスクリプションによってインストールされたコミュニティー外部シークレット 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 のインストール リンクのコピーリンクがクリップボードにコピーされました!
raw マニフェストによってインストールされたコミュニティー外部シークレット Operator を削除します。これは、リソースを解放し、クラスターのクリーンな環境を維持するのに役立ちます。
前提条件
-
cluster-adminロールを持つユーザーとしてログインしている。 -
operatorconfigCR を削除しておく必要があります。
手順
raw マニフェストによってインストールされた一貫性のある外部シークレット 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. External Secrets Operator for Red Hat OpenShift のインストール リンクのコピーリンクがクリップボードにコピーされました!
コミュニティーバージョンのクリーンアップ後に、Red Hat OpenShift の外部シークレット Operator をインストールします。これにより、クラスター内のシークレットを管理するために正式にサポートされているサービスが確立されます。詳細は、External Secrets Operator for Red Hat OpenShift のインストール を参照してください。
11.10.4. ExternalSecretsConfig Operator の作成 リンクのコピーリンクがクリップボードにコピーされました!
ExternalSecretsConfig リソースを作成し、コア external-secrets コンポーネントをインストールおよび設定します。このセットアップは、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 がrunning状態であることを確認するには、次のコマンドを実行します。oc get pods -n external-secret
$ oc get pods -n external-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、
external-secretsPod の状態がrunningである出力例です。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