<p>How can i upgrade the Kubernetes node plane to the latest version?
I tried to upgrade it using Kubeadm, but the developers assumed that all the people are going to be using Linux.</p>
<pre><code>PS C:\Users\Taha.jo&gt; kubectl get nodes
NAME             STATUS   ROLES           AGE   VERSION
docker-desktop   Ready    control-plane   39h   v1.25.9
</code></pre>
<pre><code>PS C:\Users\Taha.jo\Desktop&gt; .\kubeadm.exe upgrade plan
couldn't create a Kubernetes client from file &quot;\\etc\\kubernetes\\admin.conf&quot;: failed to load admin kubeconfig: open \etc\kubernetes\admin.conf: The system cannot find the path specified.
To see the stack trace of this error execute with --v=5 or higher
</code></pre>

طه غرايبه
<p>Upgrading the Kubernetes node plane to the latest version can be done using kubeadm, even if you are not using Linux as your primary operating system. Although the kubeadm tool is primarily designed for Linux-based environments, you can still perform the upgrade using a Linux virtual machine or a container.</p>
<p>Here's a general outline of the steps involved in upgrading the Kubernetes node plane using kubeadm:</p>
<p>1 - Prepare a Linux environment: Set up a Linux virtual machine (VM) or container on your non-Linux operating system. This will serve as your Linux-based environment for running the kubeadm commands.</p>
<p>2  Install the necessary components: In your Linux environment, install Docker and kubeadm, as these are the key components required for the upgrade process. Refer to the official Kubernetes documentation for the specific installation steps for your Linux distribution.</p>
<p>3  Drain and cordon the node: On your Kubernetes cluster, mark the node you want to upgrade as &quot;unschedulable&quot; and evict any running pods to other nodes. You can use the following command on your non-Linux operating system to access your cluster remotely:</p>
<pre class="lang-bash prettyprint-override"><code>kubectl drain &lt;node-name&gt; --ignore-daemonsets
</code></pre>
<p>4 - Perform the upgrade: In your Linux environment, use kubeadm to upgrade the node. Connect to your Kubernetes cluster using the following command:</p>
<pre class="lang-bash prettyprint-override"><code>kubeadm upgrade node
</code></pre>
<p>This command will fetch the necessary upgrade scripts and perform the upgrade on the node.</p>
<p>5 - Uncordon the node: After the upgrade is complete, mark the node as &quot;schedulable&quot; again, allowing new pods to be scheduled on it:</p>
<pre class="lang-bash prettyprint-override"><code>kubectl uncordon &lt;node-name&gt;
</code></pre>
<p>6 - Verify the upgrade: Run the following command to ensure that the node has been successfully upgraded:</p>
<pre class="lang-bash prettyprint-override"><code>kubectl get nodes
</code></pre>
<p>Check that the node's status and version are updated to the latest version.</p>
<p>7 Repeat for other nodes: If you have multiple nodes in your cluster, repeat steps 3-6 for each node until all nodes in the cluster are upgraded.</p>
<p>Remember to always take proper backups and follow best practices when upgrading your Kubernetes cluster to avoid any potential issues. Additionally, it's recommended to consult the official Kubernetes documentation and release notes for the specific version you are upgrading to, as there may be version-specific considerations or additional steps required.</p>
<p>Note: If you encounter any compatibility issues or limitations with running Linux-based tools on your non-Linux operating system, you might consider using a Linux-based virtual machine or a container to perform the upgrade process.</p>
