8.2.4. API 変換ツールを使用した CRD の v1beta2 へのアップグレード

この手順では、API 変換ツールを使用して、v 1beta2 に適用可能な形式で AMQ Streams 固有のリソースをインスタンス化および管理するために使用されるスキーマを定義する CRD を変換する方法を説明します。これを実行するには、crd -upgrade コマンドを使用します。

OpenShift クラスター全体のすべての AMQ Streams カスタムリソースを v1beta2 に変換した後に、この手順を実行しますCRD を最初にアップグレードしてからカスタムリソースを変換する場合は、このコマンドを再度実行する必要があります。

このコマンドは CRD の spec.versions を更新し、v 1beta2ストレージ API バージョンとして宣言します。このコマンドは、カスタムリソースも更新し、それらのカスタムリソースは v1beta2 に保存されるようにします。新しいカスタムリソースインスタンスはストレージ API バージョンの仕様から作成されるため、1 つの API バージョンのみがストレージバージョンとしてマークされます。

v1beta2 をストレージバージョンとして使用するように CRD をアップグレードした場合は、カスタムリソースで v1beta2 プロパティーのみを使用する必要があります。

前提条件

  • v1beta2 API バージョンをサポートする Cluster Operator が稼働している必要があります。
  • リリースアーティファクトで提供される API 変換ツールが必要です。
  • このツールには Java 11 (OpenJDK) が必要です。
  • カスタムリソースが v1beta2 に変換されています。
  • 手順では、以下を行うために RBAC の権限を持つユーザー管理者アカウントが必要です。

    • すべての namespace の AMQ Streams カスタムリソースのリスト。
    • 変換される AMQ Streams カスタムリソースの置き換え。
    • CRD の更新。
    • CRD の状態の置き換え。

API 変換ツールの詳細は、CLI で help を使用します。

bin/api-conversion.sh help

Windows を使用している場合は、この手順に bin/api-conversion.cmd を使用します。

手順

  1. これを実行していない場合は、カスタムリソースを v1beta2 を使用するように変換します。

    これは、API 変換ツールを使用して、以下のいずれかの方法で行います。

  2. crd-upgrade コマンドを使用して、API 変換ツールを実行します。

    bin/api-conversion.sh crd-upgrade
  3. CRD がアップグレードされ、v1beta2 がストレージバージョンであることを確認します。

    たとえば、Kafka トピック CRD の場合は次のとおりです。

    apiVersion: kafka.strimzi.io/v1beta2
    kind: CustomResourceDefinition
    metadata:
      name: kafkatopics.kafka.strimzi.io
      #...
    spec:
      group: kafka.strimzi.io
      #...
      versions:
      - name: v1beta2
        served: true
        storage: true
        #...
    status:
      #...
      storedVersions:
      - v1beta2