5.6.4. プロジェクトを新しい Operator SDK バージョン用に更新する


OpenShift Container Platform 4.18 は Operator SDK 1.38.0 をサポートします。ワークステーションに 1.31.0 CLI がすでにインストールされている場合は、最新バージョンをインストール して CLI を 1.36.1 に更新できます。

重要

Operator プロジェクトの関連スキャフォールディングおよびテストツールなど、Red Hat がサポートするバージョンの Operator SDK CLI ツールは非推奨となり、OpenShift Container Platform の今後のリリースで削除される予定です。Red Hat は、現在のリリースライフサイクル中にこの機能のバグ修正とサポートを提供しますが、この機能は今後、機能拡張の提供はなく、OpenShift Container Platform リリースから削除されます。

新しい Operator プロジェクトを作成する場合、Red Hat がサポートするバージョンの Operator SDK は推奨されません。既存の Operator プロジェクトを使用する Operator 作成者は、OpenShift Container Platform 4.16 でリリースされるバージョンの Operator SDK CLI ツールを使用してプロジェクトを維持し、OpenShift Container Platform の新しいバージョンを対象とする Operator リリースを作成できます。

Operator プロジェクトの次の関連ベースイメージは 非推奨 ではありません。これらのベースイメージのランタイム機能と設定 API は、バグ修正と CVE への対応のために引き続きサポートされます。

  • Ansible ベースの Operator プロジェクトのベースイメージ
  • Helm ベースの Operator プロジェクトのベースイメージ

OpenShift Container Platform で非推奨となったか、削除された主な機能の最新の一覧は、OpenShift Container Platform リリースノートの 非推奨および削除された機能 セクションを参照してください。

サポートされていない、コミュニティーによって管理されているバージョンの Operator SDK は、Operator SDK (Operator Framework) を参照してください。

ただし、既存の Operator プロジェクトと Operator SDK 1.36.1 との互換性を確保するには、1.31.0 以降に導入された関連する重大な変更に対応するために、更新手順を実行する必要があります。更新手順は、以前に 1.31.0 で作成または保守していた Operator プロジェクトで、手動で実行する必要があります。

5.6.4.1. Java ベースの Operator プロジェクトを Operator SDK 1.36.1 用に更新する

次の手順では、1.36.1 との互換性を確保するために、既存の Java ベースの Operator プロジェクトを更新します。

前提条件

  • Operator SDK 1.36.1 がインストールされている。
  • Operator SDK 1.31.0 で作成または保守されている Operator プロジェクトがある。

手順

  1. 次の例に示すように、Operator プロジェクトの Makefile を編集して、Operator SDK バージョンを v1.36.1-ocp に更新します。

    Makefile の例

    # Set the Operator SDK version to use. By default, what is installed on the system is used.
    # This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit.
    OPERATOR_SDK_VERSION ?= v1.36.1-ocp

  2. Red Hat Enterprise Linux (RHEL) 9 ベースのイメージを使用するように kube-rbac-proxy コンテナーを更新します。

    1. 次のファイルで kube-rbac-proxy コンテナーのエントリーを見つけます。

      • config/default/manager_auth_proxy_patch.yaml
      • Operator プロジェクトの bundle/manifests/<operator_name>.clusterserviceversion.yaml (チュートリアルの memcached-operator.clusterserviceversion.yaml など)
    2. プル仕様のイメージ名を ose-kube-rbac-proxy から ose-kube-rbac-proxy-rhel9 に更新し、タグを v4.17 に更新します。

      v4.17 イメージタグを使用した ose-kube-rbac-proxy-rhel9 プル仕様の例

      # ...
            containers:
            - name: kube-rbac-proxy
              image: registry.redhat.io/openshift4/ose-kube-rbac-proxy-rhel9:v4.16
      # ...

  3. kustomize/v2 プラグインは、現在 stable であり、go/v4ansible/v1helm/v1hybrid/v1-alpha プラグインを使用するときにプラグインチェーンで使用されるデフォルトのバージョンです。このデフォルトのスキャフォールドの詳細は、Kubebuilder ドキュメントの Kustomize v2 を参照してください。
  4. Operator プロジェクトでマルチプラットフォームビルドまたはマルチアーキテクチャービルドを使用する場合は、プロジェクト Makefile 内の既存の docker-buildx ターゲットを次の定義に置き換えます。

    Makefile の例

    docker-buildx:
    ## Build and push the Docker image for the manager for multi-platform support
    	- docker buildx create --name project-v3-builder
    	docker buildx use project-v3-builder
    	- docker buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile .
    	- docker buildx rm project-v3-builder

  5. Operator プロジェクトの Kubernetes バージョンを、1.29 を使用するようにアップグレードする必要があります。プロジェクト構造、Makefile、go.mod ファイルに次の変更を加える必要があります。

    重要

    go/v3 プラグインは Kubebuilder によって非推奨化が進められています。そのため、Operator SDK も今後のリリースで go/v4 に移行します。

    1. go.mod ファイルを更新して、依存関係をアップグレードします。

      k8s.io/api v0.29.2
      k8s.io/apimachinery v0.29.2
      k8s.io/client-go v0.29.2
      sigs.k8s.io/controller-runtime v0.17.3
    2. 次のコマンドを実行して、アップグレードした依存関係をダウンロードします。

      $ go mod tidy
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る