Should I run "join" or "taint" after "kubeadm init"?

If I want to use Kubernetes only on one Linux machine with no VM installed, should I either run “taint” commands like following:

kubectl taint nodes --all node-role.kubernetes.io/master-
kubectl taint nodes --all  node-role.kubernetes.io/control-plane-

To be able to use same terminal for both master and worker nodes?

Or I must run join command like following and create a worker node?

kubeadm join 192.168.1.2:6443 --token nyz9b3.2607lvfeax3qkk3i \
	--discovery-token-ca-cert-hash sha256:d4f6fc7f414......

I want to have something like Docker-Desktop but with kubeadm. Something that I can use locally on only one machine for both master and worker nodes`.

I am a little bit confuse and can’t understand how to set up both master and worker nodes on same machine and work with them through the same Linux terminal? (I mean, will Kubernetes understand this command is like a master node machine command and I will run it on the master node and the second command looks like a worker node command and I will execute it on the worker node, even if the user is running them in a row within a same terminal.)

I appreciate it so much if you explain how does kubeadm manages the commands comming from same user on a same machine, if we want to have both master and worker nodes on the same machine without an extra installed VM.

Hi @bestman,
After removing the taint from the control plane node, you can use as a worker node.