11.10. コミュニティー版 External Secrets Operator から External Secrets Operator for Red Hat OpenShift への移行


コミュニティー版の External Secrets Operator から移行できます。External Secrets Operator for Red Hat OpenShift に移行すると、公式にサポートされている製品を利用し、エンタープライズグレードのサポートにアクセスできるようになります。また、インストールからアップグレードに至るまで、シームレスな統合が実現します。

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

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 の削除

コミュニティー版 External Secrets Operator によってインストールされた external-secrets アプリケーションを削除するには、コミュニティー版 External Secrets Operator の operatorconfigs.operator.external-secrets.io カスタムリソース (CR) を削除する必要があります。

前提条件

  • 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 を削除します。

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

検証

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

    $ 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 のアンインストール

コミュニティー版 External Secrets Operator の再作成や、新しいものと競合を防ぐには、これをアンインストールする必要があります。

前提条件

  • cluster-admin ロールを持つユーザーとしてログインしている。
  • operatorconfig が削除済みである。

手順

  1. Operator Lifecycle Manager (OLM) サブスクリプションを使用してコミュニティー版 External Secrets Operator をインストールした場合は、次の手順を実行して Operator を削除します。

    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
  2. Helm を使用してコミュニティー版 {external-secret-operator} をインストールした場合は、次のコマンドを実行して Operator を削除します。

    $ helm uninstall <release_name> -n <operator_namespace>
    Copy to Clipboard Toggle word wrap
  3. raw マニフェストを使用してコミュニティー版 {external-secret-operator} をインストールした場合は、次のコマンドを実行して 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 のインストール

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

手順

  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