5.6.4. プロジェクトを新しい Operator SDK バージョン用に更新する
OpenShift Container Platform 4.12 は Operator SDK 1.25.4 をサポートします。ワークステーションにすでに 1.36.1 CLI がインストールされている場合は、最新バージョンをインストール して CLI を 1.38.0 に更新できます。
ただし、既存の Operator プロジェクトが Operator SDK 1.25.4 との互換性を維持するには、1.22.2 以降に導入された関連する重大な変更に対し、更新手順を実行する必要があります。アップグレードの手順は、以前は 1.22.2 で作成または維持されている Operator プロジェクトのいずれかで手動で実行する必要があります。
5.6.4.1. Operator SDK 1.25.4 の Java ベースの Operator プロジェクトの更新 リンクのコピーリンクがクリップボードにコピーされました!
次の手順では、1.25.4 との互換性を確保するため、既存の Java ベースの Operator プロジェクトを更新します。
前提条件
- Operator SDK 1.25.4 がインストールされている
- Operator SDK 1.22.2 で作成または保守されている Operator プロジェクト
手順
config/default/manager_auth_proxy_patch.yamlファイルに以下の変更を加えます。apiVersion: apps/v1 kind: Deployment metadata: name: controller-manager namespace: system spec: template: spec: containers: - name: kube-rbac-proxy image: registry.redhat.io/openshift4/ose-kube-rbac-proxy:v4.121 args: - "--secure-listen-address=0.0.0.0:8443" - "--upstream=http://127.0.0.1:8080/" - "--logtostderr=true" - "--v=0" ...- 1
- タグバージョンを
v4.11からv4.12に更新します。
Makefileに以下の変更を加えます。マルチアーキテクチャービルドサポートを有効にするには、
docker-buildxターゲットをプロジェクトのMakefileに追加します。Makefileの例# PLATFORMS defines the target platforms for the manager image be build to provide support to multiple # architectures. (i.e. make docker-buildx IMG=myregistry/mypoperator:0.0.1). To use this option you need to: # - able to use docker buildx . More info: https://docs.docker.com/build/buildx/ # - have enable BuildKit, More info: https://docs.docker.com/develop/develop-images/build_enhancements/ # - be able to push the image for your registry (i.e. if you do not inform a valid value via IMG=<myregistry/image:<tag>> than the export will fail) # To properly provided solutions that supports more than one platform you should use this option. PLATFORMS ?= linux/arm64,linux/amd64,linux/s390x,linux/ppc64le .PHONY: docker-buildx docker-buildx: test ## Build and push docker image for the manager for cross-platform support # copy existing Dockerfile and insert --platform=${BUILDPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{BUILDPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' Dockerfile > Dockerfile.cross - docker buildx create --name project-v3-builder docker buildx use project-v3-builder - docker buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile.cross - docker buildx rm project-v3-builder rm Dockerfile.crossMakefileに変更を適用し、Operator を再構築するには、次のコマンドを入力します。$ make