Skip to content

Discussion: Reduce the range of supported versions for various components (kubernetes / container engines / network plugins / ??? ) #13043

@VannTen

Description

@VannTen

What would you like to be added

Currently, we support for most components 3 minor versions (see roles/kubespray_defaults/defaults/vars/checksums.yml)

This is about whether we should keep doing that or reduce the number of supported versions, to 2, or 1 ; for some components, or all.

My personal opinions is that we should aim for 1 version per Kubespray version, with the same model as k8s itself, with 3 supported releases branches.

Why is this needed

There is several reasons motivating this:

  • supporting several versions imply a certain amount of complexities, particularly for Kubernetes -> depending on the version, for instance, various version of different config file are supported (kubeadm : see Cleanup: kubeadm-config v1beta4 extra args defined conditions #12307 , structured authorization :
    kube_apiserver_authorization_config_api_version: "{{ 'v1alpha1' if kube_version is version('1.30.0', '<') else 'v1beta1' if kube_version is version('1.32.0', '<') else 'v1' }}"
    ). For container engine, this can means several config format, for network plugins, different RBAC, etc.
  • we only test the default versions, not the full matrix.
  • since we support the last 3 minor releases, this means we ship upstream versions which are no longer supported or patched for security.

The questions I have:

  • do users use not default minor versions of some components ?
  • Is staying on a previous supported releases of kubespray an option ?

/priority important/long-term

@ant31 @tico88612 @chadswen @mzaian @yankay

Thoughts ?

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.priority/important-longtermImportant over the long term, but may not be staffed and/or may need multiple releases to complete.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions