Bug #1991773 “kubectl version mismatch for k8s v1.23” : Bugs : kuryr-kubernetes

As of October 2022, after specifying “KURYR_KUBERNETES_VERSION=1.23.3″ in local.conf and installing with devstack, the following version is displayed with the “kubectl version” command.
“`
$ kubectl version –short
Flag –short has been deprecated, and will be removed in the future. The –short output will become the default.
Client Version: v1.25.2
Kustomize Version: v4.5.7
Server Version: v1.23.12
WARNING: version difference between client (1.25) and server (1.23) exceeds the supported minor version skew of +/-1
“`

As shown in the warning, if the server version is 1.23, the client version should be 1.22-1.24 instead of 1.25.
This is because kubectl is installed as a dependency of kubeadm.
The kubeadm version will be the specified 1.23.
But kubectl doesn’t specify a version, so it installs with the latest version at that time.
* https://opendev.org/openstack/kuryr-kubernetes/src/branch/stable/zed/devstack/lib/kubernetes#L26-L30
“`
    # NOTE(gryf): kubectl will be installed alongside with the kubeadm as
    # a dependency
    apt_get install \
        kubelet=“${KURYR_KUBERNETES_VERSION}-00″ \
        kubeadm=“${KURYR_KUBERNETES_VERSION}-00″
“`

kubectl should also be installed with a version specified.

Read more here: Source link