Kafka Connect upgrade path to 0.46.0 #11412
Replies: 4 comments 3 replies
-
AFAIU you are using a custom Kafka Connect image (based on Strimzi Kafka image from 0.43.0) for adding connectors/plugins.
I would try this in a test env first. |
Beta Was this translation helpful? Give feedback.
-
Assuming you configured the container image in te
While the reconciliation is paused, the Connect will continue to work as before, but will not be operated. So you should try to minimize the time while the reconciliation is paused. But in general, it should not cause any issues unless you keep it paused for examle for days. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the suggestions. I think we found a way that may be the best to suits our upgrade strategy (non-invasive, not hurry). The key reason old images aren't working with new operator is that the new operator removes a few environment variables that were used to generated by the old operator. In the connect cluster yaml, we can always add those environment variables so that the old image can work with both old and new operator, which allows us to upgrade the operator only and then upgrade the images whenever we are comfortable with. For example, KAFKA_CONNECT_CONFIGURATION is removed in the new operator, but if we set the connect cluster yaml to something like below, then old image works with new operator. template: |
Beta Was this translation helpful? Give feedback.
-
That is absolute hack which might have many bad consequences. The solution
I suggested is much more safe and predictable.
…On Wed, May 7, 2025, 01:18 Sean Shi ***@***.***> wrote:
Thanks for the suggestions. I think we found a way that may be the best to
suits our upgrade strategy (non-invasive, not hurry). The key reason old
images aren't working with new operator is that the new operator removes a
few environment variables that were used to generated by the old operator.
In the connect cluster yaml, we can always add those environment variables
so that the old image can work with both old and new operator, which allows
us to upgrade the operator only and then upgrade the images whenever we are
comfortable with.
For example, KAFKA_CONNECT_CONFIGURATION is removed in the new operator,
but if we set the connect cluster yaml to something like below, then old
image works with new operator.
template:
connectContainer:
env:
- name: KAFKA_CONNECT_CONFIGURATION
value: |
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
—
Reply to this email directly, view it on GitHub
<#11412 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABLFOR6KMAIFDCT3VATWSPT25FGM5AVCNFSM6AAAAAB4RB6S7SVHI2DSMVQWIX3LMV43URDJONRXK43TNFXW4Q3PNVWWK3TUHMYTGMBVGY2DEMI>
.
You are receiving this because you commented.Message ID:
<strimzi/strimzi-kafka-operator/repo-discussions/11412/comments/13056421@
github.com>
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, from my understanding since this PR https://github.com/strimzi/strimzi-kafka-operator/pull/11062/files gets rolled out as part of 0.46.0, kafka connect images built from previous strimzi versions is not able to continue to run under 0.46.0, what's suggested upgrade strategy?
In our production, we are using strimzi 0.43.0 and kafka connect images are built using strimzi 0.43.0 as well. We are trying to upgrade strimzi to 0.46.0, which has features that we wanted (dnsConfig). However, our images are not able to run when strimzi upgrades because how the connect worker configuration files are generated is completely changed and seems not backward compatible. We need to have minimum downtime as well, i.e. we simply can't just upgrade strimzi and then upgrade all images, that downtime is not acceptable for our production scale.
Beta Was this translation helpful? Give feedback.
All reactions