11.10. コミュニティー版 External Secrets Operator から External Secrets Operator for Red Hat OpenShift への移行
コミュニティー版の External Secrets Operator から移行できます。External Secrets Operator for Red Hat OpenShift に移行すると、公式にサポートされている製品を利用し、エンタープライズグレードのサポートにアクセスできるようになります。また、インストールからアップグレードに至るまで、シームレスな統合が実現します。
次のバージョン間の移行は完全にテスト済みです。
| アップストリームバージョン | インストール方法 | ダウンストリームバージョン |
|---|---|---|
| 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 の削除 リンクのコピーリンクがクリップボードにコピーされました!
コミュニティー版 External Secrets Operator によってインストールされた external-secrets アプリケーションを削除するには、コミュニティー版 External Secrets Operator の operatorconfigs.operator.external-secrets.io カスタムリソース (CR) を削除する必要があります。
前提条件
-
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を削除します。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 このコマンドは
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 のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
コミュニティー版 External Secrets Operator の再作成や、新しいものと競合を防ぐには、これをアンインストールする必要があります。
前提条件
-
cluster-adminロールを持つユーザーとしてログインしている。 -
operatorconfigが削除済みである。
手順
Operator Lifecycle Manager (OLM) サブスクリプションを使用してコミュニティー版 External Secrets 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 raw マニフェストを使用してコミュニティー版 {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. External Secrets Operator for Red Hat OpenShift のインストール リンクのコピーリンクがクリップボードにコピーされました!
operatorconfig とコミュニティー版 {external-secret-operator-short} を削除したら、External Secrets Operator for Red Hat OpenShift をインストールできます。詳細は、External 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 が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