11.10. コミュニティーの外部シークレット Operator から Red Hat OpenShift の外部シークレット Operator への移行


コミュニティーの外部シークレット Operator から、Red Hat OpenShift のサポート対象バージョンの外部シークレット Operator に移行します。この変換により、エンタープライズレベルのサポートを提供し、外部のシークレットを管理するためのシームレスな統合が可能になります。

次のバージョン間の移行は完全にテスト済みです。

Expand
アップストリームバージョンインストール方法ダウンストリームバージョン

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 コマンドラインツールがインストールおよび設定されている。

手順

  1. 次のコマンドを実行して、コミュニティー版 Operator の namespace を確認します。

    $ oc get operatorconfigs.operator.external-secrets.io -A
    Copy to Clipboard Toggle word wrap

    以下は、namespace の確認の例です。

    NAMESPACE             NAME        AGE
    external-secrets      cluster     9m18s
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、operatorconfig カスタムリソース(CR)を削除します。

    $ oc delete operatorconfig <config_name> -n <operator_namespace>
    Copy to Clipboard Toggle word wrap

検証

  1. operatorconfig CR が削除されたことを確認するには、次のコマンドを実行します。

    $ oc get operatorconfig -n <operator_namespace>
    Copy to Clipboard Toggle word wrap

    このコマンドは no resource found を返すはずです。

  2. 古い Webhook が削除されたことを確認するには、次のコマンドを実行します。

    $ oc get validatingwebhookconfigurations | grep external-secrets
    Copy to Clipboard Toggle word wrap
    $ oc get mutatingwebhookconfigurations | grep external-secrets
    Copy to Clipboard Toggle word wrap

    このコマンドは何も結果を返さないはずです。

11.10.2. コミュニティー版 External Secrets Operator のアンインストール

Red Hat OpenShift の外部 Secret Operator に移行した後に競合や誤って再作成されないように、コミュニティーの外部シークレット Operator をアンインストールします。

コミュニティー版 External Secrets Operator の再作成や、新しいものと競合を防ぐには、これをアンインストールする必要があります。アンインストールする手順は、コミュニティーの External Secrets Operator がインストールされた方法によって異なりますが、前提条件は同じです。

Helm を使用してインストールされたコミュニティー外部シークレット Operator を削除します。これは、リソースを解放し、クラスターのクリーンな環境を維持するのに役立ちます。

前提条件

  • cluster-admin ロールを持つユーザーとしてログインしている。
  • operatorconfig カスタムリソース(CR)を削除している。

手順

  1. Red Hat OpenShift の外部シークレット Operator をインストールします。external-secrets-operator namespace は null である必要があります。
  2. 次のコマンドを実行して、外部シークレット Operator を削除します。

    $ oc helm delete <release_name> -n <operator_namespace>
    Copy to Clipboard Toggle word wrap
    注記

    helm delete を使用すると、すべてのカスタムリソース定義(CRD)および CR を削除できます。namespace external-secrets-operator が空の場合は、ダウンストリーム Operator を最初にインストールすることが推奨されます。

Operator Lifecycle Manager (OLM)サブスクリプションによってインストールされたコミュニティー外部シークレット Operator を削除します。これは、リソースを解放し、クラスターのクリーンな環境を維持するのに役立ちます。

前提条件

  • cluster-admin ロールを持つユーザーとしてログインしている。
  • operatorconfig CR を削除しておく必要があります。

手順

  1. 次のコマンドを実行してサブスクリプション名を確認します。

    $ oc get subscription -n <operator_namespace> | grep external-secrets
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行してサブスクリプションを削除します。

    $ oc delete subscription <subscription_name> -n <operator_namespace>
    Copy to Clipboard Toggle word wrap
  3. 次のコマンドを実行して ClusterServiceVersion を削除します。

    $ oc delete csv <csv_name> -n <operator_namespace>
    Copy to Clipboard Toggle word wrap

11.10.2.3. コミュニティーの外部シークレット Operator のインストール

raw マニフェストによってインストールされたコミュニティー外部シークレット Operator を削除します。これは、リソースを解放し、クラスターのクリーンな環境を維持するのに役立ちます。

前提条件

  • cluster-admin ロールを持つユーザーとしてログインしている。
  • operatorconfig CR を削除しておく必要があります。

手順

  • raw マニフェストによってインストールされた一貫性のある外部シークレット Operator を削除するには、次のコマンドを実行します。

    $ oc delete -f /path/to/your/old/manifests.yaml -n <operator_namespace>
    Copy to Clipboard Toggle word wrap

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 権限でクラスターにアクセスできる。

手順

  1. 次の内容を含む YAML ファイルを定義して、externalsecretsconfig ファイルを作成します。

    apiVersion: operator.openshift.io/v1alpha1
    kind: ExternalSecretsConfig
    metadata:
      labels:
        app.kubernetes.io/name: cluster
      name: cluster
    spec:
      appConfig:
        logLevel: 3
      webhookConfig:
        certificateCheckInterval: 5m0s
      controllerConfig:
        certProvider:
          certManager:
            certificateDuration: 8760h0m0s
            certificateRenewBefore: 30m0s
            injectAnnotations: "true"
            issuerRef:
              group: cert-manager.io
              kind: Issuer
              name: _<created_issuer_name>_
        mode: Enabled
        networkPolicies:
        - componentName: ExternalSecretsCoreController
          egress:
          - ports:
            - port: 443
              protocol: TCP
            - port: 9998
              protocol: TCP
            name: allow-external-secrets-egress
        plugins:
          bitwardenSecretManagerProvider:
            mode: Enabled
    Copy to Clipboard Toggle word wrap
  2. 次のコマンドを実行して、ExternalSecretsConfig オブジェクトを作成します。

    $ oc create -f externalsecretsconfig.yaml
    Copy to Clipboard Toggle word wrap

検証

すべてのカスタムリソース (CR) が存在すること、および API が v1beta1 ではなく v1 を使用していることを確認します。これらの CR は保持されており、新しい Operator によって自動的に変換されます。

  1. external-secrets Pod が running 状態であることを確認するには、次のコマンドを実行します。

    $ oc get pods -n external-secret
    Copy to Clipboard Toggle word wrap

    以下は、external-secrets Pod の状態が 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
    Copy to Clipboard Toggle word wrap
  2. SecretStore CR が存在することを確認するには、次のコマンドを実行します。

    $ oc get secretstores.external-secrets.io -A
    Copy to Clipboard Toggle word wrap

    以下は、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
    Copy to Clipboard Toggle word wrap
  3. ExternalSecret CR が存在することを確認するには、次のコマンドを実行します。

    $ oc get externalsecrets.external-secrets.io -A
    Copy to Clipboard Toggle word wrap

    以下は、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
    Copy to Clipboard Toggle word wrap
  4. SecretStoreapiVersion: external-secrets.io/v1 であることを確認するには、次のコマンドを実行します。

    $ oc get secretstores.external-secrets.io -n external-secrets-1 gcp-store -o yaml
    Copy to Clipboard Toggle word wrap

    以下は、SecretStoreapiVersion: external-secrets.io/v1 である出力例です。

    apiVersion: external-secrets.io/v1
    kind: SecretStore
    metadata:
      creationTimestamp: "2025-10-27T11:38:19Z"
      generation: 1
      name: gcp-store
      namespace: external-secrets-1
      resourceVersion: "104519"
      uid: 7bccb0cc-2557-4f4a-9caa-1577f0108f4b
    spec:
    .
    .
    .
    status:
      capabilities: ReadWrite
      conditions:
      - lastTransitionTime: "2025-10-27T11:38:19Z"
        message: store validated
        reason: Valid
        status: "True"
        type: Ready
    Copy to Clipboard Toggle word wrap
  5. ExternalSecretapiVersion: external-secrets.io/v1 であることを確認するには、次のコマンドを実行します。

    $ oc get externalsecrets.external-secrets.io -n external-secrets-1 gcp-externalsecret -o yaml
    Copy to Clipboard Toggle word wrap

    以下は、ExternalSecretapiVersion: external-secrets.io/v1 である出力例です。

    apiVersion: external-secrets.io/v1
    kind: ExternalSecret
    metadata:
      creationTimestamp: "2025-10-27T11:39:03Z"
      generation: 1
      name: gcp-externalsecret
      namespace: external-secrets-1
      resourceVersion: "104532"
      uid: 93a3295a-a3ad-4304-90e1-1328d951e5fb
    spec:
    .
    .
    .
    status:
      binding:
        name: k8s-secret-gcp
      conditions:
      - lastTransitionTime: "2025-10-27T11:39:03Z"
        message: secret synced
        reason: SecretSynced
        status: "True"
        type: Ready
      refreshTime: "2025-10-27T12:13:15Z"
      syncedResourceVersion: 1-f47fe3c0b255b6dd8047cdffa772587bb829efe7a1cb70febeda2eb2
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat