<p>I want to fix version difference between client (1.21) and server (1.24).<br />
1.21 version for client is desired version.<br />
So version for server shall be decreased.</p>
<pre><code>$ kubectl version --short  
Client Version: v1.21.14  
Server Version: v1.24.3  
WARNING: version difference between client (1.21) and server (1.24) exceeds the supported minor version skew of +/-1  
</code></pre>

Ryo Matsuzaka
<p>you should update the client version, and keep multiple version of <code>kubectl</code> base on the cluster. or if you are going to decrease version of <code>kubectl server</code> then consider the comment, which i do not think what you will need.</p>
<p>you can use <a href="https://github.com/asdf-vm/asdf" rel="nofollow noreferrer">asdf</a> tool version manager, almost a similar tool like tfswitch.</p>
<p>For mac</p>
<pre><code>brew install asdf
</code></pre>
<blockquote>
<p>Manage multiple runtime versions with a single CLI tool</p>
</blockquote>
<p><a href="https://asdf-vm.com/guide/getting-started.html" rel="nofollow noreferrer">getting-started</a> or <a href="https://asdf-vm.com/guide/getting-started.html#_3-install-asdf" rel="nofollow noreferrer">install-asdf</a></p>
<pre><code>asdf plugin-add kubectl
asdf install kubectl 1.24.3
asdf global kubectl 1.24.3
asdf list kubectl
#already installed list
#1.21.3
#1.23.3
#1.24.3
source ~/.zshrc

</code></pre>
<p><a href="https://i.stack.imgur.com/8bUiO.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8bUiO.png" alt="enter image description here" /></a></p>
<p>to use kubectl from <code>asdf</code> run this for  zsh, as you might be using kubectl from other source</p>
<pre><code>echo -e &quot;\n. $(brew --prefix asdf)/libexec/asdf.sh&quot; &gt;&gt; ${ZDOTDIR:-~}/.zshrc
</code></pre>
<p><a href="https://asdf-vm.com/guide/getting-started.html#_3-install-asdf" rel="nofollow noreferrer">getting-started-shell</a></p>
<p>or you can checklist of all available version</p>
<pre><code>asdf list all kubectl
</code></pre>
