Skip to main content

TRG 5.10 - Kubernetes versions

StatusCreatedPost-History
Active10-Nov-2023
Prerelease7-Mar-2023Moved out of draft
Draft24-Feb-2022n/a

Why

New Kubernetes versions are released every few months. The compatibility with those versions needs to be verified as APIs get deprecated. New Versions can also introduce issues.

To make Eclipse Tractus-X usable in the industry, its necessary to support and test multiply versions of kubernetes (upcoming, stable, old). API deprecations are happening slowly but regularly.

Description

To do so you must create a GitHub action which runs helm test against all required kubernetes versions. See the following TRG for an example GitHub action: Helm test.

The GitHub Action either can be triggered manually and allows for selecting the kubernetes versions or it verifies all required kubernetes versions one after the other.

Products need to support 3 versions at a time:

  • latest
  • latest - 1
  • latest - 2

Testing compatibility locally

For local deployment please see Kind clusters where a Kubernetes cluster can be started with a specific version locally on a development machine. Example for example:

# config.yaml
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
nodes:
- role: control-plane
- role: worker
image: kindest/node:v1.28.9@sha256:f1de3b0670462f43280114eccceab8bf1b9576d2afe0582f8f74529da6fd0365

After Kind is installed locally, run the following command with the config above:

kind create cluster --config=config.yaml

A Kubernetes node will start with version 1.28.