7.2. AMQ Streams リソースのアップグレード

以下の AMQ Streams リソースでは、kafka .strimzi.io/v1alpha1 API バージョンは非推奨になりました。

  • Kafka
  • KafkaConnect
  • KafkaConnectS2I
  • KafkaMirrorMaker
  • KafkaTopic
  • KafkaUser

これらのリソースを、kafka. strimzi.io/v1beta1 API バージョンを使用するように更新します。

ここでは、リソースのアップグレード手順を説明します。

重要

リソースのアップグレードは、Cluster Operator をアップグレードしてから実施する 必要 があります。これにより、Cluster Operator がリソースを認識できるようになります。

リソースのアップグレードが実施されない場合

アップグレードが実施されない場合、apiVersion を更新するまでリソースを更新できないことを示す警告が、調整に関するログに記録されます。

更新をトリガーするには、カスタムリソースにアノテーション追加などの表面的な変更を加えます。

アノテーションの例:

metadata:
  # ...
  annotations:
    upgrade: "Upgraded to kafka.strimzi.io/v1beta1"

以下の手順では、kafka. strimzi.io/v1beta1 API バージョンを使用するように特定のリソースを更新する手順を説明します。

7.2.1. Kafka リソースのアップグレード

前提条件

  • v1beta1 API バージョンをサポートする Cluster Operator が稼働している必要があります。

手順

デプロイメントの Kafka リソースごとに以下の手順を実行します。

  1. エディターで Kafka リソースを更新します。

    oc edit kafka my-cluster
  2. 以下を置き換えます。

    apiVersion: kafka.strimzi.io/v1alpha1

    上のコマンドを、下のコマンドに置き換えます。

    apiVersion: kafka.strimzi.io/v1beta1
  3. Kafka リソースに以下があるか確認します。

    Kafka.spec.topicOperator

    ある場合は以下に変更します。

    Kafka.spec.entityOperator.topicOperator

    たとえば、以下がある場合を考えてみましょう。

    spec:
      # ...
      topicOperator: {}

    この行を以下の行に変更します。

    spec:
      # ...
      entityOperator:
        topicOperator: {}
  4. 以下があるか確認します。

    Kafka.spec.entityOperator.affinity
    Kafka.spec.entityOperator.tolerations

    これを以下に変更します。

    Kafka.spec.entityOperator.template.pod.affinity
    Kafka.spec.entityOperator.template.pod.tolerations

    たとえば、以下の場合を考えてみましょう。

    spec:
      # ...
      entityOperator:
        affinity {}
        tolerations {}

    これを以下に変更します。

    spec:
      # ...
      entityOperator:
        template:
          pod:
            affinity {}
            tolerations {}
  5. 以下があるか確認します。

    Kafka.spec.kafka.affinity
    Kafka.spec.kafka.tolerations

    これを以下に変更します。

    Kafka.spec.kafka.template.pod.affinity
    Kafka.spec.kafka.template.pod.tolerations

    たとえば、以下の場合を考えてみましょう。

    spec:
      # ...
      kafka:
        affinity {}
        tolerations {}

    これを以下に変更します。

    spec:
      # ...
      kafka:
        template:
          pod:
            affinity {}
            tolerations {}
  6. 以下があるか確認します。

    Kafka.spec.zookeeper.affinity
    Kafka.spec.zookeeper.tolerations

    これを以下に変更します。

    Kafka.spec.zookeeper.template.pod.affinity
    Kafka.spec.zookeeper.template.pod.tolerations

    たとえば、以下の場合を考えてみましょう。

    spec:
      # ...
      zookeeper:
        affinity {}
        tolerations {}

    これを以下に変更します。

    spec:
      # ...
      zookeeper:
        template:
          pod:
            affinity {}
            tolerations {}
  7. ファイルを保存し、エディターを終了して更新したリソースが調整されるのを待ちます。