kubernetes-client / csharp

Officially supported dotnet Kubernetes Client library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clarifying Version Skew Policy

Sarah-A opened this issue · comments

We are seeking clarifications regarding C# kubernetes-client backward compatibility with older kubernetes api versions. Specifically:

  1. What is your version skew policy?
    From looking at the readme, I see that kubernetes api server support n-2 (or n-3) versions (and their matching C# clients). However, I couldn’t find any documentation regarding the opposite - does the C# kubernetes-client support older versions of the kubernetes api. For example, does C# sdk 1.13 supports AKS 1.27?
  2. If you’re not backward compatible with older AKS versions, do you backport fixes (specifically security patches) to older client versions?

Thanks!

Yes, this client is backward compatible in the same way as the Kubernetes version policy.

The basic way that this works is that for each new version (e.g. 12.0.x) the code is generated from the openapi/swagger document which is returned by a Kubernetes version running the corresponding version (e.g. 1.28.x).

As a result, the objects that are generated will follow the Kubernetes version policy.

In practice, this client supports much older clusters, many of the Kubernetes resources haven't changed very much (or at all) in a long time. So in practice a modern client should be able to use basic functionality in very old kubernetes versions, but it's not guaranteed.

Regarding backports, this is an open source project so generally we would expect users to contribute back-ports or cherry-picks, this is a community effort.

Hope that helps.

Perfect! Thanks a lot @brendandburns 🙏
I'll submit a PR to update the readme with this info.

Closing since #1514 merged.