<@ULVA73B9P> I self host a prefect server &amp; wo...
# ask-marvin
s
@Marvin I self host a prefect server & worker on EKS. My prefect server is on version 3.4.4. For my worker, I use the helm chart and I am using the "2025.6.4170433" tag. I need to update my worker so that I can take advantage of features provided in the latest kubernetes integration releases (for example, adding kubernetes annotations: https://github.com/PrefectHQ/prefect/pull/20703). How far can my prefect server and worker versions diverge?
m
Error: GitHub authentication failed
Sorry, I encountered an error while processing your request. Please try again.
s
uh oh
@Marvin I self host a prefect server & worker on EKS. My prefect server is on version 3.4.4. For my worker, I use the helm chart and I am using the "2025.6.4170433" tag. I need to update my worker so that I can take advantage of features provided in the latest kubernetes integration releases (for example, adding kubernetes annotations: https://github.com/PrefectHQ/prefect/pull/20703). How far can my prefect server and worker versions diverge?
m
🔄 Researching your answer... this may take a while 🔧 Using tool:
research_prefect_topic
📊 Tools used: •
research_prefect_topic
(2x)
m
@Marvin still there?
m
thought for 8.2 seconds
Yep — I’m here! How can I help with your Prefect setup or flows today?
m
@Marvin I self host a prefect server & worker on EKS. My prefect server is on version 3.4.4. For my worker, I use the helm chart and I am using the "2025.6.4170433" tag. I need to update my worker so that I can take advantage of features provided in the latest kubernetes integration releases (for example, adding kubernetes annotations: https://github.com/PrefectHQ/prefect/pull/20703). How far can my prefect server and worker versions diverge?
m
thought for 202.8 seconds
Great question — short answer: in Prefect 3.x, server and worker (the worker is a Prefect client) must share the same major version. Minor/patch versions can diverge. What that means in practice: - Major versions: must match (e.g., 3.x client/worker with 3.x server). A mismatch will raise an error. See the check in code: https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/_version_checking.py. - Minor/patch: can differ. A newer worker talking to an older 3.x server will typically just log a version mismatch warning and continue. - Integrations (like prefect-kubernetes) are versioned independently and declare a minimum Prefect core version. As long as your worker’s Prefect package meets that minimum, you can use new features — even if your server is on an older 3.x. For your specific goal (Kubernetes annotations from that PR: https://github.com/PrefectHQ/prefect/pull/20703): - This feature lives in the Kubernetes integration/worker logic (client-side). You can generally get it by upgrading the worker’s Prefect + prefect-kubernetes without upgrading your self-hosted server, provided you stay on 3.x. - You may see a warning if the worker’s Prefect is newer than your server (3.4.4), but it will work. If the integration requires a newer Prefect core than your worker currently has, bump the worker’s Prefect package accordingly. Recommendations: 1) Verify what Prefect versions your worker is actually running (the Helm chart tag you mentioned looks like a chart/release identifier, not the Prefect Python package version):
Copy code
prefect version
   python -c "import prefect, sys; print('prefect:', prefect.__version__)"
   python -c "import prefect_kubernetes; print('prefect-kubernetes:', prefect_kubernetes.__version__)"
2) Upgrade just the worker to a recent Prefect 3.x and the latest
prefect-kubernetes
to get annotations. Keep the server at 3.4.4 if you prefer; expect only a warning. 3) If you want to suppress the warning temporarily in worker logs (not generally recommended long-term), you can set
PREFECT_SERVER_VERSION_CHECK_ENABLED=false
in the worker environment. The check is described here: https://github.com/PrefectHQ/prefect/blob/main/src/prefect/client/_version_checking.py. If you share your Helm values for the worker (image repo/tag and how you’re installing integrations), I can suggest the exact changes (e.g., pinning a Prefect 3.x image and ensuring
prefect-kubernetes
is installed). For reference, the charts live here: https://github.com/PrefectHQ/prefect-helm. Summary: - You can safely run a newer 3.x worker + kubernetes integration against your 3.4.4 server to use annotations. - Only the major version needs to match; minor/patch can diverge. Upgrading the server later will remove the warning and keep you aligned with integration minimums.