Upgrade kubernetes master node without kubeadm

Hi,

I want to know the procedure to upgrade a master node where the kubernetes components are installed without kubeadm. I have such a cluster and I am trying to do this using only kubernetes.io/docs support. I could only get through as far downloading the kubectl binary and replacing it with existing one(and restarting the systemd service).
How do I upgrade the other components? Say from version 1.19 to 1.20?. I don’t find any documentation anywhere. All I see is documentation on how to do it with kubeadm.

Regards,
John

Hi @rjohnbosco

Two things, If your initial implementation of k8s cluster is done with kubeadm, then it’s better you follow the upgrade with kubeadm only.

If you have created the cluster manually (“the-hard-way”) then it needs some preplanning. The following link may help you to devise the plan.

Hi @mihsan,

Thank you. My situation is different. I recently encountered a situation where I was asked to upgrade the kubernetes master node only. But, I didn’t find any kubeadm tool installed on the node. The etcd and kubelet was created as a systemd service(i could only upgrade kubelet using the documation from kubernetes website). I could not find how other components were installed though.
How would one go about doing this, especially if this appears in the certification exams? I think there won’t be enough time to complete all these tasks.

Regards,
John

If you see etcd is created as systemd service then most probably the k8s was implemented manually.
With related to etcd it can be implemented standalone (separate) or colocated with k8s master node. The strategy may depend based on your architecture.
The following links specify two key aspects.

  1. Version support matrix.
    https://kubernetes.io/docs/setup/release/version-skew-policy/
  2. Upgrade sequence.
    https://kubernetes.io/docs/tasks/administer-cluster/cluster-upgrade/

I’m not sure of the certification exam perspective on this.