First of all, lets talk about Components in the Master Node. I have divided them into following sections.
Stateful
- Etcd: Its the sources of truth in the cluster.
Stateless
- Kube-ApiServer: It's the front-end of Stateful (etcd)
Others
Add-Ons
- Kube-DNS
- Kubernetes-Dashboard
All of these components make sure that Worker Nodes are having desired state of the cluster if not they will make sure that Current state = Desired State .
Now All of the end users will request your Application (business logic)
which is a Pod or bunch of Pods, therefore we need to make sure that they scale horizontally on basis of resources utilization (CPU, RAM, Network etcs).
Master Nodes does not have this responsibility therefore, we do not worry about resources utilization (Nevertheless It needs to have adequate resources to survive ).However, We need to make sure that it is highly available so there is no single point of failure to orchestrate the worker nodes.In order to make the cluster more resistant to failure, we will need to create other etcd nodes or etcd cluster.
Tldr
Workers Nodes: we worry about horizontal scalability.
Master Nodes: we worry about High availability
I have attached links for further research
Kubernetes-Components